zoukankan      html  css  js  c++  java
  • OA项目之左导航

    左边导航(一层级,二层级,三层级,四层级)

    aspx:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="left.aspx.cs" Inherits="DigitalCampus.Web.Page.left" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">     <title>栏目</title>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <link href="css/left.css" rel="stylesheet" type="text/css" />     <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>     <script type="text/javascript" src="js/icons.js"></script>     <script type="text/javascript" src="js/function.js"></script> </head> <body>     <form id="form1" runat="server">     <!-- 背景层DIV -->     <div class="div_documentbg" id="div_documentbg">     </div>     <script language="javascript" type="text/javascript">         ShowDocumentDivBG();     </script>     <div id="divMenu" class="left_menu" style="overflow: auto;">         <%=Leftmenu %>     </div>     </form>     <script language="javascript" type="text/javascript">         CloseTipsBG();         $(function () {             $(".menu_f").click(function () {                 $("ul.s").slideUp(400)                 if ($(this).next("ul.s").css("display") == "none") {                     $(this).next("ul.s").slideDown(400);                 }                 else {                     $(this).next("ul.s").slideUp(400);                 }

                });

                if ($("ul.t")) {                 $(".menu_s").click(function () {                     $("ul.t").slideUp(400)                     if ($(this).next("ul.t").css("display") == "none") {                         $(this).next("ul.t").slideDown(400);                     }                     else {                         $(this).next("ul.t").slideUp(400);                     }                     //$(this).next("ul.t").slideDown(400);                 });             }

                if ($("ul.ft")) {                 $(".menu_t").click(function () {                     $("ul.ft").slideUp(400)                     if ($(this).next("ul.ft").css("display") == "none") {                         $(this).next("ul.ft").slideDown(400);                     }                     else {                         $(this).next("ul.ft").slideUp(400);                     }                     //$(this).next("ul.ft").slideDown(400);                 });             }         })

        </script> </body> </html>

    aspx.cs:

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using DigitalCampus.Common; using DigitalCampus.Web.Common; using DigitalCampus.DBUtility; using System.Text;

    namespace DigitalCampus.Web.Page {     public partial class left : System.Web.UI.Page     {         protected int i = 0;         protected string Leftmenu = String.Empty;         protected string UserID = String.Empty;         protected string siteMap = String.Empty;         protected string showDivMenu = "1";         string Module_Id = string.Empty;

            protected void Page_Load(object sender, EventArgs e)         {             CookiesMan.CheckAdminUserLogin();             UserID = CookiesMan.GetCookie("xy_admin_user", "userID");             Module_Id = "99020010000000000";             if (!IsPostBack)             {                 LoadData();             }             siteMap = pfunction.QueryMenu(Module_Id);         }

            protected void LoadData()         {             Leftmenu = GetUserLeftMenuByCache();         }

            protected string GetUserLeftMenuByCache()         {             string cacheKey = "JSXY-GetUserLeftMenu-" + UserID;//注意命名规则 此处不能改变,因为清除缓存时用的到             object objCache = clsUtility.GetCache(cacheKey);             if (objCache == null)             {                 #region 加载LeftMenu                 DataTable dt = new DataTable();                 StringBuilder Sbuild = new StringBuilder();                 string strSql = string.Empty;                 string userRole = string.Empty;                 userRole = CookiesMan.GetCookie("xy_admin_user", "userRoleID");                 if (string.IsNullOrEmpty(userRole)) userRole = "0";                 strSql = @"select * FROM TB_MenuInfo where IsShow='1' and Menu_Code in (select Menu_ID FROM TB_UserForMenu where Role_ID in (" + userRole + ") ) order by Menu_Order,ID ";                 dt = DbHelperSQL.Query(strSql).Tables[0];                 if (dt.Rows.Count > 0)                 {                     string strUrl = String.Empty;//链接的URl                     string strTag = String.Empty;//跳转的属性                     string sty = string.Empty;                     DataRow[] dtr1;                     dtr1 = dt.Select(" Menu_Parent='0'", "Menu_Order");                     Sbuild.Append(" <ul class="f"> ");                     #region 一级                     for (int ii = 0; ii < dtr1.Length; ii++)                     {                         int parentCount = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(*),0) from TB_MenuInfo where Menu_Parent='" + dtr1[ii]["ID"] + "'").ToString());                         if (parentCount != 0)                         {                             strUrl = "#";                             strTag = "";                         }                         else                         {                             strUrl = dtr1[ii]["Menu_Url"].ToString();                             strTag = "target="main"";                         }                         Sbuild.Append("<li><a href="" + strUrl + "" class="menu_f" " + strTag + ">" + dtr1[ii]["Menu_Ico"] + dtr1[ii]["Menu_Name"] + "</a> ");

                            #region 栏目二级                         DataRow[] dtr2 = dt.Select(" Menu_Parent='" + dtr1[ii]["ID"] + "'", "Menu_Order");                         if (dtr2.Length > 0) Sbuild.Append("<ul class="s"> ");                         for (int j = 0; j < dtr2.Length; j++)                         {                             string MenuParent = dtr2[j]["ID"].ToString();                             int ParentID = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent + "'").ToString());                             if (ParentID != 0)                             {                                 strUrl = "#";                                 strTag = "";                             }                             else                             {                                 strUrl = dtr2[j]["Menu_Url"].ToString();                                 strTag = "target="main"";                             }                             Sbuild.Append("<li><a href="" + strUrl + "" class="menu_s" " + strTag + ">" + dtr2[j]["Menu_Ico"] + dtr2[j]["Menu_Name"] + "</a> ");

                                #region 栏目三级                             DataRow[] dtr3 = dt.Select(" Menu_Parent='" + dtr2[j]["ID"] + "'", "Menu_Order");                             if (dtr3.Length > 0) Sbuild.Append("<ul class="t">");                             for (int jj = 0; jj < dtr3.Length; jj++)                             {                                 string MenuParent3 = dtr3[jj]["ID"].ToString();                                 int ParentID3 = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent3 + "'").ToString());                                 if (ParentID3 != 0)                                 {                                     strUrl = "#";                                     strTag = "";                                 }                                 else                                 {                                     strUrl = dtr3[jj]["Menu_Url"].ToString();                                     strTag = "target="main"";                                 }                                 Sbuild.Append("<li><a href="" + strUrl + "" class="menu_t" " + strTag + ">" + dtr3[jj]["Menu_Ico"] + dtr3[jj]["Menu_Name"] + "</a> ");                                 #region 栏目四级                                 DataRow[] dtr4 = dt.Select(" Menu_Parent='" + dtr3[jj]["ID"] + "'", "Menu_Order");                                 if (dtr4.Length > 0) Sbuild.Append("<ul class="ft">");

                                    for (int jjj = 0; jjj < dtr4.Length; jjj++)                                 {                                     string MenuParent4 = dtr4[jjj]["ID"].ToString();                                     int ParentID4 = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent4 + "'").ToString());                                     if (ParentID4 != 0)                                     {                                         strUrl = "#";                                         strTag = "";                                     }                                     else                                     {                                         strUrl = dtr4[jjj]["Menu_Url"].ToString();                                         strTag = "target="main"";                                     }                                     Sbuild.Append("<li><a href="" + strUrl + "" " + strTag + ">" + dtr4[jjj]["Menu_Ico"] + dtr4[jjj]["Menu_Name"] + "</a></li> ");

                                    }                                 if (dtr4.Length > 0) Sbuild.Append(" </ul> ");                                 #endregion                                 if (dtr4.Length == 0) Sbuild.Append("  </li> ");                             }                             if (dtr3.Length > 0) Sbuild.Append(" </ul> ");                             #endregion

                                Sbuild.Append("  </li> ");                         }                         if (dtr2.Length > 0) Sbuild.Append(" </ul> ");                         #endregion

                            Sbuild.Append("</li> ");                     }                     #endregion                     Sbuild.Append("</ul> ");                     //Leftmenu = Sbuild.ToString();                 }                 #endregion                 objCache = Sbuild.ToString();                 int minute = int.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["ModelCache"]);                 clsUtility.AddCache(cacheKey, objCache, minute);             }             return objCache as string;         }

            /// <summary>         /// 获取用户栏目 Cache         /// </summary>         /// <param name="UserID"></param>         /// <returns></returns>         public DataTable GetUserMenuDataByCache(string UserID)         {             string cacheKey = "JSXY-GetUserFunction-" + UserID;//注意命名规则 此处不能改变,因为清除缓存时用的到             object objCache = clsUtility.GetCache(cacheKey);             if (objCache == null)             {                 try                 {                     string strSql = string.Empty;                     string userRole = string.Empty;                     userRole = CookiesMan.GetCookie("xy_admin_user", "userRoleID");                     if (string.IsNullOrEmpty(userRole)) userRole = "0";                     strSql = @"select * FROM TB_MenuInfo where IsShow='1' and Menu_Code in (select Menu_ID FROM TB_UserForMenu where Role_ID in (" + userRole + ") ) Order By Menu_Order,ID ";                     DataTable dt = new DataTable();                     dt = DbHelperSQL.Query(strSql).Tables[0];                     objCache = dt;                     int minute = int.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["ModelCache"]);                     clsUtility.AddCache(cacheKey, objCache, minute);

                    }                 catch                 { }             }             return objCache as DataTable;         }

            /// <summary>         /// 加载栏目         /// </summary>         private void DataTree()         {             DataTable dt = new DataTable();             StringBuilder Sbuild = new StringBuilder();             //string strSql = string.Empty;             //string userRole = string.Empty;             //userRole = CookiesMan.GetCookie("xy_admin_user", "userRoleID");             //if (string.IsNullOrEmpty(userRole)) userRole = "0";             //strSql = @"select * FROM TB_MenuInfo where IsShow='1' and Menu_Code in (select Menu_ID FROM TB_UserForMenu where Role_ID in (" + userRole + ") ) order by Menu_Order,ID ";             //dt = DbHelperSQL.Query(strSql).Tables[0];             dt = GetUserMenuDataByCache(UserID);             if (dt.Rows.Count == 0)             {                 return;             }             else             {                 string strUrl = String.Empty;//链接的URl                 string strTag = String.Empty;//跳转的属性                 string sty = string.Empty;                 DataRow[] dtr1;                 dtr1 = dt.Select(" Menu_Parent='0'", "Menu_Order");                 Sbuild.Append(" <ul class="f"> ");

                    for (int ii = 0; ii < dtr1.Length; ii++)                 {                     int parentCount = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(*),0) from TB_MenuInfo where Menu_Parent='" + dtr1[ii]["ID"] + "'").ToString());                     if (parentCount != 0)                     {                         strUrl = "#";                         strTag = "";                     }                     else                     {                         strUrl = dtr1[ii]["Menu_Url"].ToString();                         strTag = "target="main"";                     }                     Sbuild.Append("<li><a href="" + strUrl + "" class="menu_f" " + strTag + ">" + dtr1[ii]["Menu_Ico"] + dtr1[ii]["Menu_Name"] + "</a> ");

                        #region 栏目二级                     DataRow[] dtr2 = dt.Select(" Menu_Parent='" + dtr1[ii]["ID"] + "'", "Menu_Order");                     if (dtr2.Length > 0) Sbuild.Append("<ul class="s"> ");                     for (int j = 0; j < dtr2.Length; j++)                     {                         string MenuParent = dtr2[j]["ID"].ToString();                         int ParentID = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent + "'").ToString());                         if (ParentID != 0)                         {                             strUrl = "#";                             strTag = "";                         }                         else                         {                             strUrl = dtr2[j]["Menu_Url"].ToString();                             strTag = "target="main"";                         }                         Sbuild.Append("<li><a href="" + strUrl + "" class="menu_s" " + strTag + ">" + dtr2[j]["Menu_Ico"] + dtr2[j]["Menu_Name"] + "</a> ");

                            #region 栏目三级                         DataRow[] dtr3 = dt.Select(" Menu_Parent='" + dtr2[j]["ID"] + "'", "Menu_Order");                         if (dtr3.Length > 0) Sbuild.Append("<ul class="t">");                         for (int jj = 0; jj < dtr3.Length; jj++)                         {                             string MenuParent3 = dtr3[jj]["ID"].ToString();                             int ParentID3 = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent3 + "'").ToString());                             if (ParentID3 != 0)                             {                                 strUrl = "#";                                 strTag = "";                             }                             else                             {                                 strUrl = dtr3[jj]["Menu_Url"].ToString();                                 strTag = "target="main"";                             }                             Sbuild.Append("<li><a href="" + strUrl + "" class="menu_t" " + strTag + ">" + dtr3[jj]["Menu_Ico"] + dtr3[jj]["Menu_Name"] + "</a> ");                             #region 栏目四级                             DataRow[] dtr4 = dt.Select(" Menu_Parent='" + dtr3[jj]["ID"] + "'", "Menu_Order");                             if (dtr4.Length > 0) Sbuild.Append("<ul class="ft">");

                                for (int jjj = 0; jjj < dtr4.Length; jjj++)                             {                                 string MenuParent4 = dtr4[jjj]["ID"].ToString();                                 int ParentID4 = Convert.ToInt32(DbHelperSQL.GetSingle("select isnull(count(Menu_Parent),0) from TB_MenuInfo where Menu_Parent='" + MenuParent4 + "'").ToString());                                 if (ParentID4 != 0)                                 {                                     strUrl = "#";                                     strTag = "";                                 }                                 else                                 {                                     strUrl = dtr4[jjj]["Menu_Url"].ToString();                                     strTag = "target="main"";                                 }                                 Sbuild.Append("<li><a href="" + strUrl + "" " + strTag + ">" + dtr4[jjj]["Menu_Ico"] + dtr4[jjj]["Menu_Name"] + "</a></li> ");

                                }                             if (dtr4.Length > 0) Sbuild.Append(" </ul> ");                             #endregion                             if (dtr4.Length == 0) Sbuild.Append("  </li> ");                         }                         if (dtr3.Length > 0) Sbuild.Append(" </ul> ");                         #endregion

                            Sbuild.Append("  </li> ");                     }                     if (dtr2.Length > 0) Sbuild.Append(" </ul> ");                     #endregion

                        Sbuild.Append("</li> ");                 }                 Sbuild.Append("</ul> ");

                    Leftmenu = Sbuild.ToString();

                }

            }

        } }

    表的结构:

    TB_MenuInfo:                                                         TB_UserForMenu:

    ID         bigint         自动编号                              ID   bigint 自动编号 Menu_Code nvarchar(50) 编码                                  Role_ID   int         角色ID Menu_Name nvarchar(50) 名称                                  Menu_ID   bigint 栏目ID Menu_Parent nvarchar(50) 父级                                  Menu_Name   nvarchar(50) 栏目名称 Menu_Rating nvarchar(50) 层级                                  Fun_ID   int           操作项ID Menu_Url nvarchar(1000) Url                                   Fun_Name   nvarchar(50) 操作项名称 Menu_Ico nvarchar(200) Ico                                   CUser   nvarchar(50) 添加人 Menu_Order int         排序                                  CTime   datetime 添加时间 IsShow         nvarchar(50) 是否显示                              UUser   nvarchar(50) 修改人 IsLast         nvarchar(50) 是否显示操作项                        UTime   datetime 修改时间 Note         nvarchar(1000) 备注 CUser         nvarchar(50) 创建人 CTime         datetime 创建时间 UUser         nvarchar(50) 修改人 UTime         datetime 修改时间

  • 相关阅读:
    js上移、下移排序 效果
    如何为平板打造完美的网站页面?
    [BUUOJ]刮开有奖reverse
    [0CTF 2016]piapiapia
    [TSCTFJ 2019]bypass
    [安洵杯 2019]easy_serialize_php
    [TSCTFJ] relax
    c#访问网页
    DNN 数据访问
    c#访问数据库
  • 原文地址:https://www.cnblogs.com/duanlinlin/p/3288555.html
Copyright © 2011-2022 走看看