Roles.CreateRole(String) 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将新的角色添加到数据源。
public:
 static void CreateRole(System::String ^ roleName);public static void CreateRole(string roleName);static member CreateRole : string -> unitPublic Shared Sub CreateRole (roleName As String)参数
- roleName
- String
要创建的角色的名称。
例外
              roleName 为 null。
未启用角色管理。
示例
下面的代码示例在数据源中创建一个新角色。 有关启用角色管理的 Web.config 文件的示例,请参阅 Roles。
重要
此示例包含一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 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>
<%@ 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>
注解
方法 CreateRole 将角色名称添加到数据源。 CreateRole CreateRole调用默认角色提供程序的 方法,将指定角色添加到数据源。
注意
角色名称不能包含逗号。