Roles.RoleExists Method
Gets a value indicating whether the specified role name already exists in the role data source.
Assembly: System.Web (in System.Web.dll)
Parameters
- roleName
- Type: System.String
The name of the role to search for in the data source.
Return Value
Type: System.Booleantrue if the role name already exists in the data source; otherwise, false.
| Exception | Condition |
|---|---|
| System.ArgumentNullException | roleName is null (Nothing in Visual Basic). |
| System.ArgumentException | roleName is an empty string or contains a comma (,). |
| System.Configuration.Provider.ProviderException | Role management is not enabled. |
The RoleExists method calls the RoleExists method of the default role provider to determine whether a role name exists in the data source for the application that is specified in the ApplicationName property.
The following code example uses the RoleExists method to determine whether a role name already exists before creating the role. 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="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>
Windows 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.
Security Note