权限


 权限问题 必须会

 

 

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();

    }
}

 

转载于:https://www.cnblogs.com/cf924823/p/5157695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值