Roles.CreateRole Method (String)
Adds a new role to the data source.
Assembly: System.Web (in System.Web.dll)
Parameters
- roleName
-
Type:
System.String
The name of the role to create.
| Exception | Condition |
|---|---|
| System.ArgumentNullException | roleName is null. |
| System.ArgumentException | roleName is an empty string. -or- roleName contains a comma. |
| System.Configuration.Provider.ProviderException | Role management is not enabled. |
The CreateRole method adds a role name to the data source. CreateRole calls the CreateRole method of the default role provider to add the specified role to the data source.
Note |
|---|
Role names cannot contain commas. |
The following code example creates a new role in the data source. For an example of a Web.config file that enables role management, see Roles.
Security Note
|
|---|
This example contains a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview. |
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Dim rolesArray() As String Public Sub Page_Load(sender As Object, args As EventArgs) If Not IsPostBack Then ' Bind roles to GridView. rolesArray = Roles.GetAllRoles() RolesGrid.DataSource = rolesArray RolesGrid.DataBind() End If End Sub Public Sub CreateRole_OnClick(sender As Object, args As EventArgs) Dim createRole As String = RoleTextBox.Text Try If Roles.RoleExists(createRole) Then Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' already exists. Please specify a different role name." Return End If Roles.CreateRole(createRole) Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' created." ' Re-bind roles to GridView. rolesArray = Roles.GetAllRoles() RolesGrid.DataSource = rolesArray RolesGrid.DataBind() Catch Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' <u>not</u> created." End Try End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Sample: Create Role</title> </head> <body> <form runat="server" id="PageForm"> <h3>Create a Role</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br /> Role name: <asp:TextBox id="RoleTextBox" runat="server" /> <asp:Button Text="Create Role" id="CreateRoleButton" runat="server" OnClick="CreateRole_OnClick" /> <br /> <asp:GridView runat="server" CellPadding="2" id="RolesGrid" Gridlines="Both" CellSpacing="2" AutoGenerateColumns="false" > <HeaderStyle BackColor="navy" ForeColor="white" /> <Columns> <asp:TemplateField HeaderText="Roles" > <ItemTemplate> <%# Container.DataItem.ToString() %> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </form> </body> </html>
Available since 2.0
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)