⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rolemenumanage.ascx.cs

📁 CRM管理系统 CRM管理系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Itsv.BLL.SystemManage;


public partial class Ctrls_RoleMenuManage : PageBaseUserCtrl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (CurrentUser == null)
        {
            return;
        }
        
        if (!this.IsPostBack)
        {
            if (CurrentUser.account != "admin")
            {
                ShowAndRedirect(Page, "对不起,只有admin才有权限查看此页面", "../main.aspx");
                return;
            }
            DataSet ds = this.GetRoles();
            if (ds != null)
            {
                this.BindGridView(ds.Tables[0], gvRole, new string[] { "role_id", "role_name" });
                ds.Dispose();
                ds = null;
            }

            this.DrawTree(0);
            this.lblRoleName.Text = "所有菜单";
        }
    }

    /// <summary>
    /// 得到角色列表
    /// </summary>
    /// <returns></returns>
    private DataSet GetRoles()
    {
        RolesBLL rolebll = new RolesBLL();
        DataSet ds = rolebll.GetList("", ref msg);
        if (ds == null)
        {
            this.ShowMessage(msg);
        }
        rolebll = null;
        return ds;

    }

    /// <summary>
    /// 得到菜单列表
    /// </summary>
    /// <returns></returns>
    private DataSet GetMenuData(int roleid)
    {
        MenuItemBLL menubll = new MenuItemBLL();
        DataSet ds = menubll.GetMenuList(roleid, ref this.msg);
        menubll = null;
        if (ds == null)
            this.ShowMessage(this.msg);
        return ds;
    }
    /// <summary>
    /// 画左侧菜单

    /// </summary>
    private void DrawTree(int roleid)
    {
        this.tvMenu.Nodes.Clear();
        TreeNode pnode = new TreeNode("平台管理", "平台管理", "~/js/folder.gif", "~/main.aspx", "mainFrame");
        string[] urlimg = new string[] { "~/js/folder.gif", "~/js/xtree_foldericon.gif", "~/js/xtree_file.gif" };
        DataSet ds = this.GetMenuData(roleid);
        if (ds == null)
            return;
        DataView dv = ds.Tables[0].Copy().DefaultView;
        dv.RowFilter = "parentcode  =  0";
        if (dv.Count > 0)
            this.DrawNodes(pnode, dv, ds.Tables[0], urlimg);
        this.tvMenu.Nodes.Add(pnode);
        this.tvMenu.ExpandAll();
    }
    /// <summary>
    /// 画树的节点

    /// </summary>
    /// <param name="pnode">父结点</param>
    /// <param name="pdv">数据</param>
    /// <param name="dt">元数据</param>
    /// <param name="imgurl">图片数据</param>
    private void DrawNodes(TreeNode pnode, DataView pdv, DataTable dt, string[] imgurl)
    {
        for (int i = 0; i < pdv.Count; i++)
        {
            TreeNode node = new TreeNode();
            node.Text = pdv[i]["showname"].ToString();

            node.Value = pdv[i]["menu_id"].ToString();
            node.ToolTip = pdv[i]["tip"].ToString();
            node.Target = "mainFrame";
            node.NavigateUrl = pdv[i]["url"].ToString();
            node.ImageUrl = imgurl[int.Parse(pdv[i]["imageindex"].ToString())];
            node.SelectAction = TreeNodeSelectAction.None;
            if (pdv[i]["checked"].ToString() == "1")
                node.Checked = true;


            DataView dv = dt.Copy().DefaultView;
            dv.RowFilter = "parentcode  = " + pdv[i]["menucode"].ToString();
            if (dv.Count > 0)
                DrawNodes(node, dv, dt, imgurl);
            pnode.ChildNodes.Add(node);
        }
    }
    /// <summary>
    /// 得到编号
    /// </summary>
    /// <param name="pnode"></param>
    /// <returns></returns>
    private string[] getMenuId(TreeNode pnode)
    {
        string snode = "";
        string sName = "";
        int i = 0;
        foreach (TreeNode node in pnode.ChildNodes)
        {
            if (node.Checked)
            {
                i++;
                snode += node.Value + ",";
                sName += node.Text + ",";
                if (i == 1)
                {
                    snode += pnode.Value + ",";
                    sName += pnode.Text + ",";
                }
            }
            //if (node.ChildNodes.Count > 0)
            //{
            //    snode += getMenuId(node);
            //}   
        }
        return new string[2] { snode, sName };
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string s = "";
        string sName = "";
        if (tvMenu.Nodes.Count == 0)
        {
            return;
        }
        TreeNode pnode = tvMenu.Nodes[0];
        foreach (TreeNode node in pnode.ChildNodes)
        {
            string[] nodeDe = getMenuId(node);
            s += nodeDe[0];
            sName += nodeDe[1];
        }
        Role_MenuItemBLL rmbll = new Role_MenuItemBLL();

        if (!rmbll.SetRight(int.Parse(this.lblRoleId.Text), s, ref msg))
        {
            this.ShowAjaxMessage(msg);
        }
        else
        {
            this.WriteUserAction("给角色:" + lblRoleName.Text + "设置权限:" + sName);
            this.ShowAjaxMessage("权限设置提交成功");
        }
        rmbll = null;

    }
    /// <summary>
    /// 左侧处理
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gvRole_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.lblRoleName.Text = gvRole.DataKeys[gvRole.SelectedIndex].Values[1].ToString();
        this.lblRoleId.Text = gvRole.DataKeys[gvRole.SelectedIndex].Values[0].ToString();

        this.DrawTree(int.Parse(gvRole.DataKeys[gvRole.SelectedIndex].Values[0].ToString()));

    }
}

⌨️ 快捷键说明

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