• 权限



     权限问题 必须会

    public partial class Main : System.Web.UI.Page
    {
        private TestDataContext context = new TestDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["uid"]!=null)
                {
                            Filldr();
                            Fillcb();
                            Fillgz();
                }

                //查角色,查规则
                string uid = Session["uid"].ToString();
                List<Rules> list = new List<Rules>();
                var query = context.UserInJueSe.Where(p => p.UserId == uid);

                foreach (UserInJueSe data in query)
                {
                    var q = context.JueSeWithRules.Where(p => p.JueSeId == data.JueSeId);
                    foreach (JueSeWithRules jr in q)
                    {
                        Rules rule = context.Rules.Where(p => p.Code == jr.RuleId).First();
                        if (!list.Contains(rule))
                        {
                            list.Add(rule);
                        }
                    }
                    Repeater1.DataSource=list;
                    Repeater1.DataBind();

                }
            }

        }
        //人命下拉列表绑定数据
        public void Filldr()
        {
            DropDownList1.DataSource = context.Users;
            DropDownList1.DataTextField = "Name";
            DropDownList1.DataValueField = "UserName";
            DropDownList1.DataBind();
        }

        //角色复选框绑定数据
        public void Fillcb()
        {
            CheckBoxList1.DataSource = context.JueSe;
            CheckBoxList1.DataTextField = "Name";
            CheckBoxList1.DataValueField = "Code";
            CheckBoxList1.DataBind();

        }
        //规则复选框绑定数据
        public void Fillgz()
        {
            CheckBoxList2.DataSource = context.Rules;
            CheckBoxList2.DataTextField = "Name";
            CheckBoxList2.DataValueField = "Code";
            CheckBoxList2.DataBind();
        }
        protected void Dryonghu_SelectedIndexChanged(object sender, EventArgs e)
        {
          
                 //清除显示

            CheckBoxList1.SelectedIndex = -1;
            CheckBoxList2.SelectedIndex = -1;
            //1、取出选中的人员代号
            string uid = DropDownList1.SelectedValue.ToString();
            //2.查出人员代号所对应的角色//3.显示在checkboxlist中
            var query = context.UserInJueSe.Where(p => p.UserId == uid);
       
            var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
            foreach (UserInJueSe data in query)
            {
                foreach (ListItem item in CheckBoxList1.Items)
                {
                    if (item.Value == data.JueSeId)
                    {
                        item.Selected = true;
                    }
                }
            }  
            
            //规则显示
            foreach (JueSeWithRules data in query1)
            {
                foreach (ListItem item in CheckBoxList2.Items)
                {
                    if (item.Value == data.JueSeId)
                    {
                        item.Selected = true;
                    }
                }
            }





        }
        protected void Button1_Click(object sender, EventArgs e)
        {

            //1、取出选中的人员代号
            string uid = DropDownList1.SelectedValue.ToString();

            //删除角色原有数据
            var query = context.UserInJueSe.Where(p => p.UserId == uid);
            if (query.Count() > 0)
            {
                context.UserInJueSe.DeleteAllOnSubmit(query);
            }
            //删除规则原有数据
            var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
            if (query1.Count() > 0)
            {
                context.JueSeWithRules.DeleteAllOnSubmit(query1);
            }

            //2.造对象集合
            List<UserInJueSe> list = new List<UserInJueSe>();

            foreach (ListItem item in CheckBoxList1.Items)
            {
                if (item.Selected)
                {
                    UserInJueSe data = new UserInJueSe();
                    data.UserId = uid;
                    data.JueSeId = item.Value;

                    list.Add(data);
                }
            }

            //2.造对象集合
            List<JueSeWithRules> list1 = new List<JueSeWithRules>();

            foreach (ListItem item in CheckBoxList2.Items)
            {
                if (item.Selected)
                {
                    JueSeWithRules data = new JueSeWithRules();
                    data.RuleId = uid;
                    data.JueSeId = item.Value;

                    list1.Add(data);
                }
            }

            //3.添加到数据库
            
    //context.JueSeWithRules.InsertAllOnSubmit(list1);
            context.UserInJueSe.InsertAllOnSubmit(list);
            context.SubmitChanges();

        }
    }
  • 相关阅读:
    实体枚举字段注释反向生成数据库注释sql
    系统间数据存储和交互思路
    复选框与bitmap算法实践
    Entity Framework Core配置DbContext的两种方式
    C#语法糖——持续更新
    抽丝剥茧读源码——Microsoft.Extensions.Configuration(2)
    抽丝剥茧读源码——Microsoft.Extensions.Configuration(1)
    算法分享之关于atcoderbeginner166E的讲解
    关于coder168E问题的分析与解答(C语言)
    atcoder168D题
  • 原文地址:https://www.cnblogs.com/cf924823/p/5157695.html
Copyright © 2020-2023  润新知