Adds a new role to the data source.
Assembly: System.Web (in System.Web.dll)
Public Shared Sub CreateRole ( _ roleName As String _ )
public static void CreateRole( string roleName )
public: static void CreateRole( String^ roleName )
static member CreateRole : roleName:string -> unit
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>
<%@ Page Language="C#" %> <%@ 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"> string[] rolesArray; public void Page_Load(object sender, EventArgs args) { if (!IsPostBack) { // Bind roles to GridView. rolesArray = Roles.GetAllRoles(); RolesGrid.DataSource = rolesArray; RolesGrid.DataBind(); } } public void CreateRole_OnClick(object sender, EventArgs args) { string createRole = RoleTextBox.Text; try { if (Roles.RoleExists(createRole)) { Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' already exists. Please specify a different role name."; return; } Roles.CreateRole(createRole); Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' created."; // Re-bind roles to GridView. rolesArray = Roles.GetAllRoles(); RolesGrid.DataSource = rolesArray; RolesGrid.DataBind(); } catch (Exception e) { Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' <u>not</u> created."; Response.Write(e.ToString()); } } </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>
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note
Security Note