userroles.cs

来自「ASP.NET简洁论坛源代码 这是一个简单的论坛」· CS 代码 · 共 64 行

CS
64
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NetFocus.Web.Core;

namespace NetFocus.Web.Applications.Forum
{
    public class UserRoles : UserControl
    {
        protected CheckBoxList roleList;
        protected ResourceButton saveButton;

        protected override void OnLoad(EventArgs e)
        {
            if (!Page.IsPostBack && !AjaxManager.IsCallBack)
            {
                BindData();
            }
            saveButton.Click += new EventHandler(SaveUserRoles);
        }

        private void BindData()
        {
            if (roleList == null)
            {
                return;
            }

            roleList.DataSource = Roles.GetAllRoles();
            roleList.DataTextField = "Name";
            roleList.DataValueField = "RoleId";
            roleList.DataBind();

            foreach (Role role in Roles.GetUserRoles(WebContext.Current.UserId))
            {
                foreach (ListItem item in roleList.Items)
                {
                    if (item.Value == role.RoleId.ToString())
                    {
                        item.Selected = true;
                        break;
                    }
                }
            }
        }
        private void SaveUserRoles(object sender, EventArgs e)
        {
            int userId = WebContext.Current.UserId;
            Roles.RemoveUserRoles(userId);

            foreach (ListItem item in roleList.Items)
            {
                if (item.Selected)
                {
                    Roles.AddUserToRole(userId, int.Parse(item.Value));
                }
            }
        }
    }
}

⌨️ 快捷键说明

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