zoukankan      html  css  js  c++  java
  • 菜单

     相信大家做网页的时候都会用到菜单。最近在CSDN上答题的时候,问动态菜单的还是比较多。这次就整3个动态菜单给同学们玩玩。方便刚入门的小鸟速度掌握。

        正所谓天下文章大家抄,抄来抄去有提高.去百度一个JS+CSS菜单。CSS菜单

        效果还算一般。我们把它抄袭下来 以后留用.

       

      先来看看HTML

      

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>导航菜单</title>
    <style>
    body,td,th 
    {
        font-family
    : Tahoma, Verdana, Arial, sans-serif;
        font-size
    : 12px;
        color
    : #333333;
    }
    body 
    {
        margin-left
    : 0px;
        margin-top
    : 0px;
        margin-right
    : 0px;
        margin-bottom
    : 0px;
    }
    {
        color
    : #333333;
        text-decoration
    : none;
    }
    a:hover 
    {
        color
    : #FF0000;
        text-decoration
    : none;
    }
    a:active
    {
        color
    : #FF0000;
        text-decoration
    : none;
    }
    #menu
    {
        height
    :32px;
        margin-top
    :8px; background-color:#990000;
    }
    #menu ul
    {
        margin
    :auto; width:778px; height:32px;
        list-style-type
    :none; padding:0px; margin-top:0px; margin-bottom:0px;
    }
    .m_li
    {
        float
    :left; width:114px; line-height:32px;  text-align:center; margin-right:-2px; margin-left:-2px;
    }
    .m_li a
    {
        display
    :block; color:#FFFFFF; width:114px;
    }
    .m_line
    {
        float
    :left; width:1px; height:32px;
        line-height
    :32px;   /*ff下有效(图片垂直居中)*/
    }
    .m_line img
    {
        margin-top
    :expression(( 32 - this.height ) / 2);   /*ie下有效(图片垂直居中)*/
    }
    .m_li_a
    {
        float
    :left; width:114px; line-height:32px; text-align:center; padding-top:3px; font-weight:bold;
        background-image
    :url(/jscss/demoimg/200904/menu_bg2.jpg); position:relative; height:32px; margin-top:-3px; margin-right:-2px; margin-left:-2px;
    }
    .m_li_a a
    {
        display
    :block; color:#FF0000; width:114px;
    }

    .smenu
    {
        width
    :774px; margin:0px auto 0px auto; padding:0px; list-style-type:none; height:32px;
    }
    .s_li
    {
        line-height
    :32px; width:auto; display:none; height:32px; 
    }
    .s_li_a
    {
        line-height
    :32px; width:auto; display:block; height:32px; 
    }
    </style>
    <script>
    //初始化
    var def="1";
    function mover(object){
      
    //主菜单
      var mm=document.getElementById("m_"+object);
      mm.className
    ="m_li_a";
      
    //初始主菜单隐藏效果
      if(def!=0){
        
    var mdef=document.getElementById("m_"+def);
        mdef.className
    ="m_li";
      }
      
    //子菜单
      var ss=document.getElementById("s_"+object);
      ss.style.display
    ="block";
      
    //初始子菜单隐藏效果
      if(def!=0){
        
    var sdef=document.getElementById("s_"+def);
        sdef.style.display
    ="none";
      }
    }

    function mout(object){
      
    //主菜单
      var mm=document.getElementById("m_"+object);
      mm.className
    ="m_li";
      
    //初始主菜单
      if(def!=0){
        
    var mdef=document.getElementById("m_"+def);
        mdef.className
    ="m_li_a";
      }
      
    //子菜单
      var ss=document.getElementById("s_"+object);
      ss.style.display
    ="none";
      
    //初始子菜单
      if(def!=0){
        
    var sdef=document.getElementById("s_"+def);
        sdef.style.display
    ="block";
      }
    }
    </script>
    </head>
    <body>
    <div id="menu">
      
    <ul>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_1" class='m_li_a'><href="#">财税首页</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_2" class='m_li' onmouseover='mover(2);' onmouseout='mout(2);'><href="#">政务公开</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_3" class='m_li' onmouseover='mover(3);' onmouseout='mout(3);'><href="#">网上办事</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_4" class='m_li' onmouseover='mover(4);' onmouseout='mout(4);'><href="#">公告中心</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_5" class='m_li' onmouseover='mover(5);' onmouseout='mout(5);'><href="#">法规中心</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_6" class='m_li' onmouseover='mover(6);' onmouseout='mout(6);'><href="#">财税文化</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
        
    <li id="m_7" class='m_li' onmouseover='mover(7);' onmouseout='mout(7);'><href="#">专题宣传</a></li>
        
    <li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
      
    </ul>
    </div>
    <div style="height:32px; background-color:#F1F1F1;">
       
    <ul class="smenu">
         
    <li style="padding-left:29px;" id="s_1" class='s_li_a'>您是本站第13122842位访客!</li>
         
    <li style="padding-left:141px;" id="s_2" class='s_li' onmouseover='mover(2);' onmouseout='mout(2);'><href="/">财税简介</a>  |  <href="#">机构设置</a>  |  <href="/">办事指南</a>  |  <href="/">税种简介</a>  |  <href="/">财税动态</a>  |  <href="/">网页特效</a></li>
         
    <li style="padding-left:252px;" id="s_3" class='s_li' onmouseover='mover(3);' onmouseout='mout(3);'><href="/">下载专区</a>  |  <href="/">上传专区</a>  |  <href="#">申请报名</a>  |  <href="#">查询系统</a>  |  <href="#">咨询投诉</a>  |  <href="/">满意调查</a></li>
         
    <li style="padding-left:362px;" id="s_4" class='s_li' onmouseover='mover(4);' onmouseout='mout(4);'><href="/">最新公告</a>  |  <href="/">会计通知</a></li>
         
    <li style="padding-left:474px;" id="s_5" class='s_li' onmouseover='mover(5);' onmouseout='mout(5);'><href="/">最新政策</a>  |  <href="#">政策法规查询</a></li>
         
    <li style="padding-left:447px;" id="s_6" class='s_li' onmouseover='mover(6);' onmouseout='mout(6);'><href="/">税收宣传</a>  |  <href="/">最新更新</a>  |  <href="#">文明创建</a>  |  <href="#" target="_blank">青年论坛</a>  |  <href="#">廉政课堂</a></li>
         
    <li style="padding-left:696px;" id="s_7" class='s_li' onmouseover='mover(7);' onmouseout='mout(7);'><href="/">专题宣传区</a></li>
       
    </ul>
    </div>
    </body>
    </html>

    其中有定义的JS和CSS 不会不要紧。因为我们可以抄. OK开工。新建一个页面.讲这些代码复制进去 不解释.

    仔细观察一下。 DIV的ID为MENU的貌似是父菜单。而下面那个DIV是加载上去的。那我们就从后台返回两个字符串用于页面绑定。一个也可以搞定。

    创建数据库

     1 USE [CSDN_Ziye]
     2 GO
     3 /****** 对象:  Table [dbo].[Ziye_Menu]    脚本日期: 04/24/2011 20:13:53 ******/
     4 SET ANSI_NULLS ON
     5 GO
     6 SET QUOTED_IDENTIFIER ON
     7 GO
     8 CREATE TABLE [dbo].[Ziye_Menu](
     9     [Menu_ID] [int] NULL,
    10     [Menu_Fid] [int] NULL,
    11     [Menu_Name] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    12     [Menu_Url] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    13     [Menu_able] [int] NULL,
    14     [Menu_Rel] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    15     [Menu_Type] [int] NULL
    16 ON [PRIMARY]

     其中有几个字段不需要。具体是干嘛的。下一篇会用到。。

     采用拼接字符串。就像我经常CSDN解答的那样。

    前台<%=str %> 

    后台public static string str=string.Empty;

    建立个页面开整 

     

      1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Ziye_Menu1._Default" %>
      2 
      3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      4 <html xmlns="http://www.w3.org/1999/xhtml">
      5 <head runat="server">
      6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      7     <title>子夜菜单(一)</title>
      8     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      9     <style>
     10         body, td, th
     11         {
     12             font-family: Tahoma, Verdana, Arial, sans-serif;
     13             font-size: 12px;
     14             color: #333333;
     15         }
     16         body
     17         {
     18             margin-left: 0px;
     19             margin-top: 0px;
     20             margin-right: 0px;
     21             margin-bottom: 0px;
     22         }
     23         a
     24         {
     25             color: #333333;
     26             text-decoration: none;
     27         }
     28         a:hover
     29         {
     30             color: #FF0000;
     31             text-decoration: none;
     32         }
     33         a:active
     34         {
     35             color: #FF0000;
     36             text-decoration: none;
     37         }
     38         #menu
     39         {
     40             height: 32px;
     41             margin-top: 8px;
     42             background-color: #990000;
     43         }
     44         #menu ul
     45         {
     46             margin: auto;
     47             width: 778px;
     48             height: 32px;
     49             list-style-type: none;
     50             padding: 0px;
     51             margin-top: 0px;
     52             margin-bottom: 0px;
     53         }
     54         .m_li
     55         {
     56             float: left;
     57             width: 114px;
     58             line-height: 32px;
     59             text-align: center;
     60             margin-right: -2px;
     61             margin-left: -2px;
     62         }
     63         .m_li a
     64         {
     65             display: block;
     66             color: #FFFFFF;
     67             width: 114px;
     68         }
     69         .m_line
     70         {
     71             float: left;
     72             width: 1px;
     73             height: 32px;
     74             line-height: 32px; /*ff下有效(图片垂直居中)*/
     75         }
     76         .m_line img
     77         {
     78             margin-top: expression(( 32 - this.height ) / 2); /*ie下有效(图片垂直居中)*/
     79         }
     80         .m_li_a
     81         {
     82             float: left;
     83             width: 114px;
     84             line-height: 32px;
     85             text-align: center;
     86             padding-top: 3px;
     87             font-weight: bold;
     88             background-image: url(http://www.codefans.net/jscss/demoimg/200904/menu_bg2.jpg);
     89             position: relative;
     90             height: 32px;
     91             margin-top: -3px;
     92             margin-right: -2px;
     93             margin-left: -2px;
     94         }
     95         .m_li_a a
     96         {
     97             display: block;
     98             color: #FF0000;
     99             width: 114px;
    100         }
    101         .smenu
    102         {
    103             width: 774px;
    104             margin: 0px auto 0px auto;
    105             padding: 0px;
    106             list-style-type: none;
    107             height: 32px;
    108         }
    109         .s_li
    110         {
    111             line-height: 32px;
    112             width: auto;
    113             display: none;
    114             height: 32px;
    115         }
    116         .s_li_a
    117         {
    118             line-height: 32px;
    119             width: auto;
    120             display: block;
    121             height: 32px;
    122         }
    123     </style>
    124 
    125     <script>
    126         //初始化
    127         var def = "1";
    128         function mover(object) {
    129             //主菜单
    130             var mm = document.getElementById("m_" + object);
    131             mm.className = "m_li_a";
    132             //初始主菜单隐藏效果
    133             if (def != 0) {
    134                 var mdef = document.getElementById("m_" + def);
    135                 mdef.className = "m_li";
    136             }
    137             //子菜单
    138             var ss = document.getElementById("s_" + object);
    139             ss.style.display = "block";
    140             //初始子菜单隐藏效果
    141             if (def != 0) {
    142                 var sdef = document.getElementById("s_" + def);
    143                 sdef.style.display = "none";
    144             }
    145         }
    146 
    147         function mout(object) {
    148             //主菜单
    149             var mm = document.getElementById("m_" + object);
    150             mm.className = "m_li";
    151             //初始主菜单
    152             if (def != 0) {
    153                 var mdef = document.getElementById("m_" + def);
    154                 mdef.className = "m_li_a";
    155             }
    156             //子菜单
    157             var ss = document.getElementById("s_" + object);
    158             ss.style.display = "none";
    159             //初始子菜单
    160             if (def != 0) {
    161                 var sdef = document.getElementById("s_" + def);
    162                 sdef.style.display = "block";
    163             }
    164         }
    165     </script>
    166 
    167 </head>
    168 <body>
    169     <%=GetMenu() %>
    170 </body>
    171 </html>

     接下来是后台代码看注释.

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Web;
      5 using System.Web.UI;
      6 using System.Web.UI.WebControls;
      7 using System.Text;
      8 using System.Data;
      9 
     10 namespace Ziye_Menu1
     11 {
     12     public partial class _Default : System.Web.UI.Page
     13     {
     14         protected void Page_Load(object sender, EventArgs e)
     15         {
     16            
     17         }
     18 
     19         public string GetMenu()
     20         {
     21             //<div id="menu">
     22             //<ul>
     23             //<li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>
     24             //<li id="m_1" class='m_li_a'><a href="#">财税首页</a></li>
     25             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     26             //<li id="m_2" class='m_li' onmouseover='mover(2);' onmouseout='mout(2);'><a href="#">政务公开</a></li>
     27             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     28             //<li id="m_3" class='m_li' onmouseover='mover(3);' onmouseout='mout(3);'><a href="#">网上办事</a></li>
     29             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     30             //<li id="m_4" class='m_li' onmouseover='mover(4);' onmouseout='mout(4);'><a href="#">公告中心</a></li>
     31             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     32             //<li id="m_5" class='m_li' onmouseover='mover(5);' onmouseout='mout(5);'><a href="#">法规中心</a></li>
     33             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     34             //<li id="m_6" class='m_li' onmouseover='mover(6);' onmouseout='mout(6);'><a href="#">财税文化</a></li>
     35             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     36             //<li id="m_7" class='m_li' onmouseover='mover(7);' onmouseout='mout(7);'><a href="#">专题宣传</a></li>
     37             //<li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>
     38             //</ul>
     39             //</div>
     40 
     41 
     42             /*
     43              * 这些就是用于主菜单的 我们要把“政务公开”这些换成数据库的名字,<a href="#">中的#也要换成我们数据库的链接
     44              * 
     45              * 发现<img src="jscss/demoimg/200904/line2.gif" />在本机找不到图片 所以在前面加上http://www.codefans.net/就当引用他网站中的图片了
     46              * 
     47              * 开抄.
     48              */
     49 
     50             StringBuilder LeftList = new StringBuilder();//声明一个LeftList 用于后面拼接
     51             try
     52             {
     53                 LeftList.Append("<div id=\"menu\">");
     54                 LeftList.Append("<ul>");
     55                 //取出所有数据 (这里用的是我大一时候写的SqlHelper请大家不要笑话.)
     56                 DataTable Dt_TotleMenu = SqlHelper.ReturnDataTable("select * from Ziye_Menu", CommandType.Text);
     57                 DataRow[] drMenu = Dt_TotleMenu.Select("Menu_Fid=0 and Menu_able=1");//取出所有启用的父节点
     58                 DataTable LeftMenuTable = new DataTable();//构建父节点的table
     59                 LeftMenuTable = drMenu[0].Table.Clone();
     60                 foreach (DataRow dr in drMenu)
     61                 {
     62                     LeftMenuTable.ImportRow(dr);
     63                 }
     64 
     65                 if (LeftMenuTable.Rows.Count != 0)
     66                 {
     67                     for (int i = 0; i < LeftMenuTable.Rows.Count; i++)
     68                     {
     69                         /*
     70                          *观察菜单可以看出 一个节点可以包含
     71                          *<li class="m_line"><img src="/jscss/demoimg/200904/line2.gif" /></li>-------图片
     72                          *<li id="m_1" class='m_li_a'><a href="#">财税首页</a></li>--------链接和名字
     73                          * 这两个那么最后应该少一个
     74                          * <li class="m_line"><img src="http://www.codefans.net/jscss/demoimg/200904/line2.gif" /></li>---图片
     75                          */
     76                         LeftList.Append("<li class=\"m_line\"><img src=\"http://www.codefans.net/jscss/demoimg/200904/line2.gif\" /></li>");//添加图片
     77                         if (i != 0)
     78                         {
     79                             LeftList.Append("<li id=\"m_" + (i + 1+ "\" class='m_li' onmouseover='mover(" + (i + 1+ ");' onmouseout='mout(" + (i + 1+ ");'><a href=" + LeftMenuTable.Rows[i]["Menu_Url"].ToString() + ">" + LeftMenuTable.Rows[i]["Menu_Name"].ToString() + "</a></li>");
     80                         }
     81                         else
     82                         {
     83                             LeftList.Append("<li id=\"m_1\" class='m_li_a'><a href=\"#\">首页</a></li>");
     84                         }
     85                         //到此循环全部搞定。然后我们不要忘记缺了最后一行
     86                     }
     87                     LeftList.Append("<li class=\"m_line\"><img src=\"http://www.codefans.net/jscss/demoimg/200904/line2.gif\" /></li>");
     88                     LeftList.Append("</ul>");
     89                     LeftList.Append("</div>");
     90                     //上面的HTML 全部拼接完成 
     91                 }
     92 
     93                 /*
     94                  * 到这里我们父级菜单就算绑定完了。接下来看子菜单
     95                  * <div s6tyle="height:32px; background-color:#F1F1F1;">
     96    
     97                  * <ul class="smenu">
     98                   
     99                  * <li  id="s_1" class='s_li_a'>大家好我是子夜</li>
    100      
    101                  * <li  id="s_2" class='s_li' onmouseover='mover(2);' onmouseout='mout(2);'><a href="/">财税简介</a>  |  <a href="#">机构设置</a>  |  <a href="/">办事指南</a>  |  <a href="/">税种简介</a>  |  <a href="/">财税动态</a>  |  <a href="/">网页特效</a></li>
    102     
    103                  * <li  id="s_3" class='s_li' onmouseover='mover(3);' onmouseout='mout(3);'><a href="/">下载专区</a>  |  <a href="/">上传专区</a>  |  <a href="#">申请报名</a>  |  <a href="#">查询系统</a>  |  <a href="#">咨询投诉</a>  |  <a href="/">满意调查</a></li>
    104      
    105                  * <li  id="s_4" class='s_li' onmouseover='mover(4);' onmouseout='mout(4);'><a href="/">最新公告</a>  |  <a href="/">会计通知</a></li>
    106     
    107                  * <li  id="s_5" class='s_li' onmouseover='mover(5);' onmouseout='mout(5);'><a href="/">最新政策</a>  |  <a href="#">政策法规查询</a></li>
    108      
    109                  * <li  id="s_6" class='s_li' onmouseover='mover(6);' onmouseout='mout(6);'><a href="/">税收宣传</a>  |  <a href="/">最新更新</a>  |  <a href="#">文明创建</a>  |  <a href="#" target="_blank">青年论坛</a>  |  <a href="#">廉政课堂</a></li>
    110      
    111                  * <li  id="s_7" class='s_li' onmouseover='mover(7);' onmouseout='mout(7);'><a href="/">专题宣传区</a></li>
    112                   
    113                  * </ul>
    114                  
    115                  *</div>
    116                  * 
    117                  * 前面那些不看 (<li style="padding-left:141px;" id="s_2" class='s_li' onmouseover='mover(2);' onmouseout='mout(2);'>)
    118                  * 
    119                  * 就看这个链接
    120                  * 
    121                  * <a href="/">财税简介</a>  |  <a href="#">机构设置</a>  |  <a href="/">办事指南</a>  |  <a href="/">税种简介</a>  |  <a href="/">财税动态</a>  |  <a href="/">网页特效</a></li>
    122                  * 
    123                  * 这些链接是属于一个父节点下的所有子节点拼接的。我们依照上面一样的改。
    124                  */
    125 
    126 
    127 
    128                 //先拼接子菜单的前两行
    129                 LeftList.Append("<div s6tyle=\"height:32px; background-color:#F1F1F1;\">");
    130                 LeftList.Append("<ul class=\"smenu\">");
    131 
    132 
    133                 //遍历每一个父节点 取它下所有的子节点。然后拼子节点的HTML
    134                 for (int j = 0; j < LeftMenuTable.Rows.Count; j++)
    135                 {
    136 
    137                     /*因为<li  id="s_2" class='s_li' onmouseover='mover(2);' onmouseout='mout(2);'><a href="/">财税简介</a>  |  <a href="#">机构设置</a>  |  <a href="/">办事指南</a>  |  <a href="/">税种简介</a>  |  <a href="/">财税动态</a>  |  <a href="/">网页特效</a></li>
    138                      * 
    139                      * 所以每次遍历的时候我们先把<li  id="s_2" class='s_li' onmouseover='mover(2);' onmouseout='mout(2);'>添加上
    140                      * 
    141                      * 然后在遍历拼接子节点 <a href="/">财税简介</a>  |  <a href="#">机构设置</a>  |  <a href="/">办事指南</a>  |  <a href="/">税种简介</a>  |  <a href="/">财税动态</a>  |  <a href="/">网页特效</a>
    142                      * 
    143                      * 最后加上</li> 即可
    144                      * 
    145                     */
    146 
    147                     //寻找父ID为当前父ID的子节点
    148                     DataRow[] drSencondMenu = Dt_TotleMenu.Select("Menu_Fid='" + LeftMenuTable.Rows[j]["Menu_ID"+ "' and Menu_able=1");
    149                     DataTable SecondTable = new DataTable();
    150                     SecondTable = drSencondMenu[0].Table.Clone();
    151                     foreach (DataRow dr in drSencondMenu)
    152                     {
    153                         SecondTable.ImportRow(dr);
    154                     }
    155 
    156 
    157                     if (SecondTable.Rows.Count != 0)//证明此父节点存在子节点
    158                     {
    159                         if (j == 0)
    160                         {
    161                             LeftList.Append("<li  id=\"s_1\" class='s_li_a'>大家好我是子夜</li>");
    162                         }
    163                         else
    164                         {
    165                             LeftList.Append("<li  id=\"s_" + (j + 1+ "\" class='s_li' onmouseover='mover(" + (j + 1+ ");' onmouseout='mout(" + (j + 1+ ");'>");
    166                             //遍历拼接子节点的HTML
    167                             for (int k = 0; k < SecondTable.Rows.Count; k++)
    168                             {
    169 
    170                                 LeftList.Append("<a href=" + SecondTable.Rows[k]["Menu_Url"].ToString() + ">" + SecondTable.Rows[k]["Menu_Name"].ToString() + "</a> ");
    171 
    172                                 if (k != SecondTable.Rows.Count - 1)//如果是最后一项就不加 | 了.^_^
    173                                 {
    174                                     LeftList.Append("  |  ");
    175                                 }
    176                             }
    177                         }
    178                         LeftList.Append("</li>");
    179 
    180                     }
    181                 }
    182                 LeftList.Append("</ul>");
    183                 LeftList.Append("</div>");
    184                 return LeftList.ToString();
    185 
    186             }
    187             catch (Exception err)
    188             {
    189                 return "没菜单";
    190             }
    191         }
    192     }
    193 }

    效果 :

     

    193行代码 其实我们可以优化的。

     比如在一个FOR循环中拼接父节点和子节点的HTML。

    也可以写一个递归的方法来用。这里用简单的DataTable.来拼接的html.其实代码不是最重要的。重要的是一种思想。

    有兴趣的小鸟们可以练习练习。也可以去网上抄袭几个留着以后用.

    下篇 来个实战。练练抄袭的功力. 

    http://www.cnblogs.com/Gavinzhao/archive/2011/05/08/2026542.html

  • 相关阅读:
    POJ2823 Sliding Window【双端队列】
    初识Identity
    dSploitzANTI渗透教程之启动zANTI工具
    dSploitzANTI渗透教程之安装zANTI工具
    iOS Sprite Kit教程之滚动场景
    iOS Sprite Kit教程之场景的切换
    iOS Sprite Kit教程之场景的设置
    iOS Sprite Kit教程之真机测试以及场景的添加与展示
    iOS Sprite Kit教程之申请和下载证书
    iOS Sprite Kit教程之使用帮助文档以及调试程序
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2040701.html
Copyright © 2011-2022 走看看