⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listusers.aspx.cs

📁 角色及用户管理源代码和帮助说明,供大家参考、下载!
💻 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.HtmlControls;

public partial class security_ListUsers : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //绑定用户和角色信息
            gvUsers.DataSource = Membership.GetAllUsers();
            gvUsers.DataBind();
            gvRoles.DataSource = Roles.GetAllRoles();
            gvRoles.DataBind();
        }
    }

    protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Label lb1 = (Label)e.Row.FindControl("lbIsOnline");
            if (lb1.Text=="True")
              lb1.Text = "是";
            else
              lb1.Text = "否";

            Label lb2 = (Label)e.Row.FindControl("lbIsLockedOut");
            if (lb2.Text=="True")
              lb2.Text = "是";
            else
              lb2.Text = "否";

        }
    }

    protected void LinkButtonClick(object sender, CommandEventArgs e)
    {
        // 如果进行用户编辑,则转到EditUser.aspx页面
        if (e.CommandName.Equals("EditUser"))
        {
            Response.Redirect("EditUser.aspx?user=" + e.CommandArgument.ToString());
        }

        // 如果进行删除用户,则调用DeleteUser方法
        if (e.CommandName.Equals("DeleteUser"))
        {
            if (Membership.DeleteUser(e.CommandArgument.ToString()))
            {
                //如果删除的是自身,则重定向到登录页面;否则显示删除信息,并重新绑定数据
                if (e.CommandArgument.ToString() == User.Identity.Name)
                {
                    FormsAuthentication.SignOut();
                    Response.Redirect("~/Login.aspx");
                }
                else
                {
                    gvUsers.DataSource = Membership.GetAllUsers();
                    gvUsers.DataBind();
                    lbMessage.Text = "删除成功.";
                }
            }
            else
            {
                lbMessage.Text = "未能删除成功.";
            }
        }

        // 如果进行添加角色
        if (e.CommandName.Equals("AddRole"))
        {
            //如果当前没有角色,则重定向创建新角色
            if (Roles.GetAllRoles().Length == 0)
            {
                Response.Redirect("ListRoles.aspx");
                return;
            }
            //显示角色信息,主要设置CheckBox的选中状态
            string username = e.CommandArgument.ToString();
            gvRoles.Caption = "设置用户<b>"+username+"</b>的角色";
            for (int i = 0; i < Roles.GetAllRoles().Length; i++)
            {
                CheckBox cb = (CheckBox)gvRoles.Rows[i].FindControl("cbAddRoleToUser");
                string roleName = cb.ToolTip;
                cb.Checked = Roles.IsUserInRole(username, roleName);
                //将用户信息传递到显示角色信息的列表中
                cb.Attributes["user"] = username;
            }
            plListRole.Visible = true;
        }
    }

    protected void CheckBox_Click(object sender, EventArgs e)
    {
        try
        {
            //更新用户信息,并重新绑定
            CheckBox cbIsApproved = (CheckBox)sender;
            string username = cbIsApproved.ToolTip;
            MembershipUser mu = Membership.GetUser(username);
            mu.IsApproved = cbIsApproved.Checked;
            Membership.UpdateUser(mu);
            gvUsers.DataSource = Membership.GetAllUsers();
            gvUsers.DataBind();
            lbMessage.Text = "更新成功.";
        }
        catch (System.Configuration.Provider.ProviderException ex)
        {
            //抛出异常
            lbMessage.Text = ex.Message;
        }
    }

    protected void AddRoleToUserCheckBox_Click(object sender, EventArgs e)
    {
        try
        {
            //为用户分配角色
            CheckBox cbAddRoleToUser = (CheckBox)sender;
            string username = cbAddRoleToUser.Attributes["user"];
            string roleName = cbAddRoleToUser.ToolTip;
            //如果用户已经分配角色,则删除;否则为用户添加角色
            if (!cbAddRoleToUser.Checked)
            {
                Roles.RemoveUserFromRole(username, roleName);
            }
            else
            {
                Roles.AddUserToRole(username, roleName);
            }
            lbMessage.Text = "更新成功.";
        }
        catch (System.Configuration.Provider.ProviderException ex)
        {
            //抛出异常
            lbMessage.Text = ex.Message;
        }
    }

    protected void lbtExit_Click(object sender, EventArgs e)
    {
        //退出系统,并重定向
        FormsAuthentication.SignOut();
        Response.Redirect("~/Login.aspx");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -