asp.net二级菜单导航 实例

.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default17.aspx.cs" Inherits="Default17" %>

<!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>
    <script src="jquery-1.8.3.js" type="text/javascript"></script>
    <script type ="text/javascript">
        $(document).ready(function () {
            $("a.m0").mouseenter(function () {
                $(".submenu").hide();//开启之前全部关闭子菜单
                $("+.submenu", this).fadeIn(200);
            });

            $("#div_menu").mouseleave(function () {
                $(".submenu").fadeOut(200);
            });
        });
    </script>


    <style type ="text/css" >
        body { margin:0px; padding:0px;}
        #div_menu { border: 1px solid silver;
                    background-image:url(imgs/back_head.jpg);
                    background-repeat:repeat-x;  }
        
        a { display:block; text-decoration:none; color:Gray;}
        a:hover { color:#930;} 
        a.m0 { margin:10px 0px 10px 0px;
               padding:0px 10px 0px 10px; }
        .menuset+.menuset a.m0
        { border-left:1px solid silver;}
        a.m1 { margin:5px; padding:10px;
               font-size:12px; }
        
        .menuset { float:left;}
        .submenu { position:absolute;
                   display:none; }
        
        
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        
        <div id="div_menu" runat="server"></div>
    </div>
    </form>
</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.OleDb;

public partial class Default17 : System.Web.UI.Page
{   string str_cnn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=";
    string str_sourcefile = "mdb\\mydb.mdb";
    OleDbConnection cnn;
    OleDbCommand cmd;
    OleDbDataReader datar;
    string str_sql;

    protected void Page_Load(object sender, EventArgs e)
    {
        makenav();
    }


    protected void makenav() { 
        string str_conn = str_cnn + MapPath(str_sourcefile);
        cnn = new OleDbConnection(str_conn);
        cnn.Open();

        str_sql = "SELECT t_menuL0.*, t_menuL1.* FROM t_menuL1 RIGHT JOIN t_menuL0 ON t_menuL1.m1_m0id = t_menuL0.m0_id";
        cmd = new OleDbCommand(str_sql, cnn);
        datar = cmd.ExecuteReader();

        Panel pnl_menuset, pnl_submenu;
        HyperLink a_m0, a_m1;

        while (datar.Read()) {
            string s_m0 = datar["m0_id"].ToString();


            pnl_menuset = (Panel)div_menu.FindControl("div_menuset_"+s_m0);
            if (pnl_menuset == null) {
                pnl_menuset = new Panel(); pnl_menuset.CssClass = "menuset";
                pnl_menuset.ID = "div_menuset_" + s_m0;
                div_menu.Controls.Add(pnl_menuset);
            }
            pnl_menuset = (Panel)div_menu.FindControl("div_menuset_" + s_m0);

            a_m0 = (HyperLink)FindControl("a_m0_"+s_m0);
            if (a_m0 == null) {
                a_m0 = new HyperLink(); a_m0.CssClass = "m0";
                a_m0.ID = "a_m0_" + s_m0;
                a_m0.Text = datar["m0_ttl"].ToString();
                a_m0.NavigateUrl = datar["m0_url"].ToString();
                pnl_menuset.Controls.Add(a_m0);
            }

            if (!(datar["m1_ttl"] is DBNull)) {
                pnl_submenu = (Panel)FindControl("div_submenu_" + s_m0);
                if (pnl_submenu == null) {
                    pnl_submenu = new Panel(); pnl_submenu.CssClass = "submenu";
                    pnl_submenu.ID = "div_submenu_" + s_m0;
                    pnl_menuset.Controls.Add(pnl_submenu);
                }
                pnl_submenu = (Panel)FindControl("div_submenu_" + s_m0);


                a_m1 = new HyperLink(); a_m1.CssClass = "m1";
                a_m1.ID = "a_m1_" + datar["m1_id"].ToString();
                a_m1.Text = datar["m1_ttl"].ToString();
                a_m1.NavigateUrl = datar["m1_url"].ToString();
                pnl_submenu.Controls.Add(a_m1);


            
            }

        }

        cnn.Close();

        Panel p = new Panel();
        p.Style.Add("clear", "both");
        div_menu.Controls.Add(p);
    }
}

效果如下:



  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值