RoleExists Method

Roles.RoleExists Method

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.


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.

Security noteSecurity 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() %>


Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

© 2015 Microsoft