📄 adduserstoroles.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class AddUsersToRoles : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadUsersRoles(); //载入用户与角色
ShowUsersRoles(); //在GridView中显示用户与群组关系
}
}
//载入用户与角色到CheckBoxList或RadioButtonList中
private void LoadUsersRoles()
{
cbxlUsers.DataSource = Membership.GetAllUsers();
cbxlUsers.DataBind();
cbxlRoles.DataSource = Roles.GetAllRoles();
cbxlRoles.DataBind();
}
//将用户加入角色
protected void btnAddUsersRoles_Click(object sender, EventArgs e)
{
//计算多少用户被打勾,建立数组大小
int UsersCount = CountCheckBoxList(cbxlUsers);
string[] UsersArray = new string[UsersCount];
//取得哪些用户被打勾,将其加入字符串数组之中
AddArray(UsersArray,cbxlUsers);
//计算多少用户被打勾,建立数组大小
int RolesCount = CountCheckBoxList(cbxlRoles);
string[] RolesArray = new string[RolesCount];
//取得哪些角色被打勾,将其加入ArrayList之中
AddArray(RolesArray, cbxlRoles);
try
{
//将多个Users加入多个Roles
Roles.AddUsersToRoles(UsersArray, RolesArray);
ShowUsersRoles();
new AlertMessage().showMsg(this.Page, "加入用户至角色成功!");
}
catch(Exception ex)
{
txtMsg.Text = ex.Message.ToString();
}
finally
{
//清除数组
System.Array.Clear(UsersArray, 0, UsersCount - 1);
System.Array.Clear(RolesArray, 0, RolesCount - 1);
}
}
//计算CheckBoxList有几个项目被勾选
private int CountCheckBoxList(CheckBoxList cbxlist)
{
int Count = 0;
for (int i = 0; i <= cbxlist.Items.Count - 1; i++)
{
if (cbxlist.Items[i].Selected == true)
{
Count++;
}
}
return Count;
}
//取得哪些用户被打勾,将其加入字符串数组之中
private void AddArray(string[] UserRoleArray, CheckBoxList cbxlist)
{
int x = 0;
for (int i = 0; i <= cbxlist.Items.Count - 1; i++)
{
//如果CheckBoxList项目被勾选择将其加入数组
if (cbxlist.Items[i].Selected == true)
{
UserRoleArray[x] = cbxlist.Items[i].Text;
x++;
}
}
}
//在GridView中显示用户与群组关系
private void ShowUsersRoles()
{
//声明一个DataTable以容纳User及Roles
//并作为GridView的DataSource
DataTable dtUsersRoles = new DataTable();
dtUsersRoles.Columns.Add("Users",typeof(string));
dtUsersRoles.Columns.Add("Roles", typeof(string));
string[] RolesArray;
//取得用户的集合
MembershipUserCollection User = Membership.GetAllUsers();
//将用户一一取出,并读出该用户所属群组
foreach (MembershipUser singleUser in User)
{
//取得用户所属群组
RolesArray = Roles.GetRolesForUser(singleUser.UserName);
if (RolesArray.Length >= 1)
{
for (int i = 0; i<=RolesArray.Length - 1; i++)
{
DataRow singleRow = dtUsersRoles.NewRow();
singleRow["Users"] = singleUser.UserName;
singleRow["Roles"] = RolesArray[i];
dtUsersRoles.Rows.Add(singleRow);
}
}
}
gviewUsersRoles.DataSource = dtUsersRoles;
gviewUsersRoles.DataBind();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -