公积金系统管理平台

本文介绍了一个公积金管理平台的菜单设计方法,包括手风琴模式的四级菜单实现、基于角色的菜单权限分配、使用TreeView进行无限级菜单绑定,以及系统的三层架构和easy-ui界面设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公积金管理平台

1、导航采用手风琴模式,一共分为四级菜单。

关键代码:

  protected void LoadMenu()
    {
        //加载菜单
        DataTable DTMenu = new MenuBLL().querytMenuDSByCon(" and TROLEPERMIT.JSBH=" + rolerID + " order by Menuorder asc").Tables[0];   //查询所有的菜单
        //DataTable DTMenu = new MenuBLL().queryTMenuByCon(" order by Menuorder asc").Tables[0];   //查询所有的菜单
        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        sb.Append("<div class=\"bg\">");   //最外层
        foreach (DataRow dr in DTMenu.Select("MenuPID=10"))   //实现一级菜单
        {
            sb.Append("<div class=\"t fblod\" id=\"s" + dr["MenuID"].ToString() + "\" onclick=\"w('" + dr["MenuID"].ToString() + "')\">" + dr["MenuName"].ToString() + " </div>");//一级菜单名


            sb.Append("<div class=\"ps\" id=\"" + dr["MenuID"].ToString() + "\">");  //二级外层
            foreach (DataRow row in DTMenu.Select("MenuPID ='" + dr["MenuID"].ToString() + "'")) //得到的是二级菜单
            {
                DataTable dt = new MenuBLL().queryTMenuByCon(" and MenuPID ='" + row["MenuID"].ToString() + "' order by Menuorder asc").Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //二级菜单名有子菜单
                    sb.Append("<div class=\"f fblod\" id=\"s" + row["MenuID"].ToString() + "\" onclick=\"k('" + row["MenuID"].ToString() + "')\">" + row["MenuName"].ToString() + "</div>");
                }
                else
                {
                    //二级菜单名无子菜单情况
                    sb.Append("<div class=\"gs\"><a href='" + row["MenuUrl"].ToString() + "' target='mainFrame'>" + row["MenuName"].ToString() + "</a></div>");
                }
                sb.Append("<div class=\"ps\" id=\"" + row["MenuID"].ToString() + "\">");//三级外层
                foreach (DataRow row2 in DTMenu.Select("MenuPID ='" + row["MenuID"].ToString() + "'"))  //得到是三级菜单
                {
                    DataTable dt1 = new MenuBLL().queryTMenuByCon(" and MenuPID ='" + row2["MenuID"].ToString() + "' order by Menuorder asc").Tables[0];
                    if (dt1.Rows.Count > 0)
                    {
                        //三级菜单名有子菜单
                        //string B = row2["MenuName"].ToString();
                        sb.Append("<div class=\"g fblod\" id=\"a" + row2["MenuID"].ToString() + "\" onclick=\"d('" + row2["MenuID"].ToString() + "')\">" + row2["MenuName"].ToString() + "</div>");
                    }
                    else
                    {
                        //三级菜单名无子菜单情况
                        sb.Append("<div class=\"gs\"><a href='" + row2["MenuUrl"].ToString() + "' target='mainFrame'>" + row2["MenuName"].ToString() + "</a></div>");
                    }
                    sb.Append("<div class=\"ps\" id=\"" + row2["MenuID"].ToString() + "\">");//四级外层
                    foreach (DataRow row3 in DTMenu.Select("MenuPID ='" + row2["MenuID"].ToString() + "'"))  //得到是四级菜单
                    {
                        sb.Append("<div class=\"d\"><a href='" + row3["MenuUrl"].ToString() + "' target='mainFrame'>" + row3["MenuName"].ToString() + "</a></div>");
                    }
                    sb.Append("</div>");//四级外层结束
                }
                sb.Append("</div>");//三级外层结束
            }
            sb.Append(" </div>");//二级外层结束
        }
        sb.Append("\t" + " </div>");//最外层结束
        this.litMenu.Text = sb.ToString();
    }


菜单分权限显示不同菜单。用于学习权限菜单不错的资料。

 

2、TreeView的无限级绑定

关键代码:

protected void DataBindTreeView()
    {
        //加载菜单
        DataTable treeData = new MenuBLL().querytMenuDSByCon(" and TROLEPERMIT.JSBH=" + rolerID + " order by Menuorder asc").Tables[0];   //查询所有的菜单
        CreateTree(TreeViewMenu, treeData);
        treeData.Clear();
    }

    /// <summary>
    ///生成树
    /// </summary>
    /// <param name="treeView"></param>
    /// <param name="treeData"></param>
    private void CreateTree(TreeView treeView, DataTable treeData)
    {
        treeView.Nodes.Clear();//清空树的所有节点
        treeView.ExpandDepth = 2;
        TreeNode rootNode = new TreeNode();//创建根节点
        rootNode.Text = "公积金管理系统";
        rootNode.Value = "10";
        rootNode.NavigateUrl = "javascript:SetActionId('" + rootNode.Value + "','')";
        treeView.Nodes.Add(rootNode);//添加根节点
        CreateChildNode(rootNode, treeData);//创建其他节点
    }
    /// <summary>
    ///生成子节点
    /// </summary>
    /// <param name="parentNode"></param>
    /// <param name="treeData"></param>
    private void CreateChildNode(TreeNode parentNode, DataTable treeData)
    {
        DataRow[] rowList = treeData.Select("MenuPID='" + parentNode.Value + "'");
        foreach (DataRow row in rowList)
        {
            TreeNode node = new TreeNode();//创建新节点
            node.Text = row["MenuName"].ToString();
            node.Value = row["MenuID"].ToString();
            node.NavigateUrl = "javascript:SetActionId('" + node.Value + "','')";
            parentNode.ChildNodes.Add(node);
            CreateChildNode(node, treeData);//递归调用,创建其他节点
        }
    }


3、采用三层架构

4、UI采用的是easy-ui

5、菜单风格采用的是手风琴菜单

登录主要界面:

 

源程序下载地址:http://download.youkuaiyun.com/detail/lovegonghui/9267981

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值