removeuserfromrole.aspx.cs

来自「《圣殿祭司的ASP.NET 2.0开发详解——使用C#》光盘内容.包含了书籍所含」· CS 代码 · 共 82 行

CS
82
字号
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 RemoveUserFromRole : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
		if (!IsPostBack)
		{
			LoadUsersRoles();  //载入用户与角色
			ShowUsersRoles();  //在GridView中显示用户与群组关系
		}
    }

	//载入用户与角色到CheckBoxList或RadioButtonList中
	private void LoadUsersRoles()
	{
		rdoUser.DataSource = Membership.GetAllUsers();
		rdoUser.DataBind();

		rdoRole.DataSource = Roles.GetAllRoles();
		rdoRole.DataBind();
	}

	//将用户自角色中移除
	protected void btnRemoveUserRole_Click(object sender, EventArgs e)
	{
		try
		{
			//将一个User自一个Role中移除
			Roles.RemoveUserFromRole(rdoUser.SelectedItem.Text, rdoRole.SelectedItem.Text);
			ShowUsersRoles();
			new AlertMessage().showMsg(this.Page, "移除用户的角色成功!");
		}
		catch(Exception ex)
		{
			txtMsg.Text = ex.Message.ToString();
		}
	}

	//在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 + =
减小字号Ctrl + -
显示快捷键?