Exemple #1
0
    private void BindPage()
    {
        int            roleId          = Convert.ToInt32(Request.QueryString["roleId"]);
        IList <SysFun> parentLists     = SysFunManager.GetParentNodeByRoleId(roleId);
        IList <SysFun> sysLists        = SysFunManager.GetAllParentSys();
        ArrayList      currentSysLists = new ArrayList();

        foreach (SysFun currentSys in parentLists)
        {
            currentSysLists.Add(currentSys.NodeId.ToString());
        }
        foreach (SysFun sys in sysLists)
        {
            RoleUserControl ruc = LoadControl("~/UserControl/RoleUserControl.ascx") as RoleUserControl;

            //父节点
            CheckBox parentcb = ruc.FindControl("chkParentMenu") as CheckBox;
            ruc.RoleId       = roleId;
            ruc.ParentNodeId = sys.NodeId;
            parentcb.Text    = sys.DisplayName;
            //因为JS通过控件ID控制复选框的原因  不能为下面的控件设ID
            // parentcb.ID = sys.NodeId.ToString();
            if (currentSysLists.Contains(sys.NodeId.ToString()))
            {
                parentcb.Checked = true;
            }

            this.phRoleDistribute.Controls.Add(ruc);
        }
    }
Exemple #2
0
    //保存
    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            int roleId = Convert.ToInt32(Request.QueryString["roleId"]);
            RoleRightManager.delRoleRightByRoleId(roleId);
            ArrayList selectedSysLists = new ArrayList();
            foreach (Control cn in this.phRoleDistribute.Controls)
            {
                RoleUserControl ruc      = cn as RoleUserControl;
                CheckBox        parentcb = ruc.FindControl("chkParentMenu") as CheckBox;
                if (parentcb.Checked)
                {
                    selectedSysLists.Add(ruc.ParentNodeId);
                }
                CheckBoxList cbl = ruc.FindControl("chklstChildMenu") as CheckBoxList;
                foreach (ListItem li in cbl.Items)
                {
                    if (li.Selected)
                    {
                        selectedSysLists.Add(li.Value);
                    }
                }
            }


            foreach (object nodeIdObj in selectedSysLists)
            {
                int nodeId = Convert.ToInt32(nodeIdObj);
                RoleRightManager.AddRight(roleId, nodeId);
            }
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改成功!');location='RoleManage.aspx'</script>");
        }
        catch (Exception ex)
        {
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改失败!');location='RoleManage.aspx'</script>");
        }
    }