Roles.RoleExists Method (String)


Gets a value indicating whether the specified role name already exists in the role data source.

Namespace:   System.Web.Security
Assembly:  System.Web (in System.Web.dll)

public static bool RoleExists(
	string roleName


Type: System.String

The name of the role to search for in the data source.

Return Value

Type: System.Boolean

true if the role name already exists in the data source; otherwise, false.

Exception Condition

roleName is null (Nothing in Visual Basic).


roleName is an empty string or contains a comma (,).


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.

System_CAPS_security 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"
<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;

public void CreateRole_OnClick(object sender, EventArgs args)
  string createRole = RoleTextBox.Text;

    if (Roles.RoleExists(createRole))
      Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' already exists. Please specify a different role name.";


    Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' created.";

    // Re-bind roles to GridView.

    rolesArray = Roles.GetAllRoles();
    RolesGrid.DataSource = rolesArray;
  catch (Exception e)
    Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' <u>not</u> created.";


<html xmlns="" >
<title>Sample: Create Role</title>

<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" />
      <asp:TemplateField HeaderText="Roles" >
          <%# Container.DataItem.ToString() %>


.NET Framework
Available since 2.0
Return to top