权限


 权限问题 必须会

 

 

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

    }
}

 

posted @ 2016-01-25 15:52  小热包1  阅读(115)  评论(0编辑  收藏  举报