Roles.AddUsersToRole メソッド
アセンブリ: System.Web (system.web.dll 内)


例外の種類 | 条件 |
---|---|
System.ArgumentNullException | roleName が null 参照 (Visual Basic では Nothing) です。 または usernames の要素の 1 つが null 参照 (Visual Basic では Nothing) です。 |
System.ArgumentException | roleName が空の文字列であるか、またはコンマ (,) を含んでいます。 または usernames の要素の 1 つが空の文字列か、またはコンマ (,) を含んでいます。 または |
System.Configuration.Provider.ProviderException |

AddUsersToRole メソッドは既定のロール プロバイダを呼び出し、指定されたユーザーをデータ ソースの指定されたロールに関連付けます。
アプリケーションが SqlRoleProvider クラスを使用する場合、AddUsersToRoles メソッドの呼び出しによって実行されるデータベースの更新は単一のトランザクションで完了します。指定されたロールに既にユーザー名が存在するなどのエラーが発生した場合、トランザクションがロールバックされ、更新は実行されません。
![]() |
---|

1 つ以上のユーザーをロールに追加するコード例、およびユーザーの入力に基づいてロールからユーザーを削除するコード例を次に示します。ロール管理を有効にする Web.config ファイルの例については、Roles のトピックを参照してください。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <%@ Import Namespace="System.Web.UI" %> <script runat="server"> Dim rolesArray() As String Dim users As MembershipUserCollection Dim usersInRole() As String Public Sub Page_Load() Msg.Text = "" If Not IsPostBack Then ' Bind roles to ListBox. rolesArray = Roles.GetAllRoles() RolesListBox.DataSource = rolesArray RolesListBox.DataBind() ' Bind users to ListBox. users = Membership.GetAllUsers() UsersListBox.DataSource = users UsersListBox.DataBind() End If If Not RolesListBox.SelectedItem Is Nothing Then ' Show users in role. Bind user list to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value) UsersInRoleGrid.DataSource = usersInRole UsersInRoleGrid.DataBind() End If End Sub Public Sub AddUsers_OnClick(ByVal sender As Object, ByVal args As EventArgs) ' Verify that a role is selected. If RolesListBox.SelectedItem Is Nothing Then Msg.Text = "Please select a role." Return End If ' Verify that at least one user is selected. If UsersListBox.SelectedItem Is Nothing Then Msg.Text = "Please select one or more users." Return End If ' Create list of users to be added to the selected role. Dim newusers(UsersListBox.GetSelectedIndices().Length - 1) As String For i As Integer = 0 To newusers.Length - 1 newusers(i) = UsersListBox.Items(UsersListBox.GetSelectedIndices(i)).Value Next ' Add the users to the selected role. Try Roles.AddUsersToRole(newusers, RolesListBox.SelectedItem.Value) ' Re-bind users in role to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value) UsersInRoleGrid.DataSource = usersInRole UsersInRoleGrid.DataBind() Catch e As Exception Msg.Text = e.Message End Try End Sub Public Sub UsersInRoleGrid_RemoveFromRole(ByVal sender As Object, ByVal args As GridViewCommandEventArgs) ' Get the selected user name to remove. Dim index As Integer = Convert.ToInt32(args.CommandArgument) Dim username As String = (CType(UsersInRoleGrid.Rows(index).Cells(0).Controls(0), DataBoundLiteralControl)).Text ' Remove the user from the selected role. Try Roles.RemoveUserFromRole(username, RolesListBox.SelectedItem.Value) Catch e As Exception Msg.Text = "An exception of type " & e.GetType().ToString() & _ " was encountered removing the user from the role." End Try ' Re-bind users in role to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value) UsersInRoleGrid.DataSource = usersInRole UsersInRoleGrid.DataBind() End Sub </script> <html> <head> <title>Sample: Role Membership</title> </head> <body> <form runat="server" id="PageForm"> <h3> Role Membership</h3> <asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br> <table cellpadding="3" border="0"> <tr> <td valign="top"> Roles:</td> <td valign="top"> <asp:ListBox ID="RolesListBox" runat="server" Rows="8" AutoPostBack="true" /></td> <td valign="top"> Users:</td> <td valign="top"> <asp:ListBox ID="UsersListBox" DataTextField="Username" Rows="8" SelectionMode="Multiple" runat="server" /></td> <td valign="top"> <asp:Button Text="Add User(s) to Role" ID="AddUsersButton" runat="server" OnClick="AddUsers_OnClick" /></td> </tr> <tr> <td valign="top"> Users In Role:</td> <td valign="top"> <asp:GridView runat="server" CellPadding="4" ID="UsersInRoleGrid" AutoGenerateColumns="false" GridLines="None" CellSpacing="0" OnRowCommand="UsersInRoleGrid_RemoveFromRole"> <HeaderStyle BackColor="navy" ForeColor="white" /> <Columns> <asp:TemplateField HeaderText="User Name" runat="server"> <ItemTemplate> <%# Container.DataItem.ToString() %> </ItemTemplate> </asp:TemplateField> <asp:ButtonField runat="server" Text="Remove From Role" ButtonType="Link" /> </Columns> </asp:GridView> </td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <%@ Import Namespace="System.Web.UI" %> <script runat="server"> string[] rolesArray; MembershipUserCollection users; string[] usersInRole; public void Page_Load() { Msg.Text = ""; if (!IsPostBack) { // Bind roles to ListBox. rolesArray = Roles.GetAllRoles(); RolesListBox.DataSource = rolesArray; RolesListBox.DataBind(); // Bind users to ListBox. users = Membership.GetAllUsers(); UsersListBox.DataSource = users; UsersListBox.DataBind(); } if (RolesListBox.SelectedItem != null) { // Show users in role. Bind user list to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value); UsersInRoleGrid.DataSource = usersInRole; UsersInRoleGrid.DataBind(); } } public void AddUsers_OnClick(object sender, EventArgs args) { // Verify that a role is selected. if (RolesListBox.SelectedItem == null) { Msg.Text = "Please select a role."; return; } // Verify that at least one user is selected. if (UsersListBox.SelectedItem == null) { Msg.Text = "Please select one or more users."; return; } // Create list of users to be added to the selected role. string[] newusers = new string[UsersListBox.GetSelectedIndices().Length]; for (int i = 0; i < newusers.Length; i++) { newusers[i] = UsersListBox.Items[UsersListBox.GetSelectedIndices()[i]].Value; } // Add the users to the selected role. try { Roles.AddUsersToRole(newusers, RolesListBox.SelectedItem.Value); // Re-bind users in role to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value); UsersInRoleGrid.DataSource = usersInRole; UsersInRoleGrid.DataBind(); } catch (Exception e) { Msg.Text = e.Message; } } public void UsersInRoleGrid_RemoveFromRole(object sender, GridViewCommandEventArgs args) { // Get the selected user name to remove. int index = Convert.ToInt32(args.CommandArgument); string username = ((DataBoundLiteralControl)UsersInRoleGrid.Rows[index].Cells[0].Controls[0]).Text; // Remove the user from the selected role. try { Roles.RemoveUserFromRole(username, RolesListBox.SelectedItem.Value); } catch (Exception e) { Msg.Text = "An exception of type " + e.GetType().ToString() + " was encountered removing the user from the role."; } // Re-bind users in role to GridView. usersInRole = Roles.GetUsersInRole(RolesListBox.SelectedItem.Value); UsersInRoleGrid.DataSource = usersInRole; UsersInRoleGrid.DataBind(); } </script> <html> <head> <title>Sample: Role Membership</title> </head> <body> <form runat="server" id="PageForm"> <h3> Role Membership</h3> <asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br> <table cellpadding="3" border="0"> <tr> <td valign="top"> Roles:</td> <td valign="top"> <asp:ListBox ID="RolesListBox" runat="server" Rows="8" AutoPostBack="true" /></td> <td valign="top"> Users:</td> <td valign="top"> <asp:ListBox ID="UsersListBox" DataTextField="Username" Rows="8" SelectionMode="Multiple" runat="server" /></td> <td valign="top"> <asp:Button Text="Add User(s) to Role" ID="AddUsersButton" runat="server" OnClick="AddUsers_OnClick" /></td> </tr> <tr> <td valign="top"> Users In Role:</td> <td valign="top"> <asp:GridView runat="server" CellPadding="4" ID="UsersInRoleGrid" AutoGenerateColumns="false" GridLines="None" CellSpacing="0" OnRowCommand="UsersInRoleGrid_RemoveFromRole"> <HeaderStyle BackColor="navy" ForeColor="white" /> <Columns> <asp:TemplateField HeaderText="User Name" runat="server"> <ItemTemplate> <%# Container.DataItem.ToString() %> </ItemTemplate> </asp:TemplateField> <asp:ButtonField runat="server" Text="Remove From Role" ButtonType="Link" /> </Columns> </asp:GridView> </td> </tr> </table> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からRoles.AddUsersToRole メソッドを検索する場合は、下記のリンクをクリックしてください。

- Roles.AddUsersToRole メソッドのページへのリンク