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);
    }
}

效果如下:

时间: 2024-11-02 01:30:05

asp.net二级菜单导航 实例的相关文章

二级菜单导航

通过CSS样式实现二级菜单导航. 首先写好一级栏目和二级栏目的基本内容. <div class="nav"> <ul> <li><a href="#">首页</a> <ul> <li><a href="#">首页1</a></li> <li><a href="#">首页1</a&

CSS3实现的横向二级下拉菜单代码实例

CSS3实现的横向二级下拉菜单代码实例:横向二级下拉菜单是非常常用的效果,例如很多网站的导航栏就是这样的二级下拉菜单效果,非常好用,本章节分享一段使用CSS3实现的下拉菜单,当然当下很多浏览器都不支持,不过相信用不了多久这种现状就会被改变.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content

经典的导航二级式导航菜单增强版

作者:lshdic   http://blog.csdn.net/lshdic/<!--呵呵我发的上一版相信大家都看过了吧,想一想上一版的确是不怎么华丽,而且上一版是针对表格内的连接A而定位的而这一版的优点显然比上一版要华丽,速度一样快,而且是针对表格TD来定位的,TIMEOUT设置的也必要合理以下代码完整范例请登陆 http://www.lshdic.com 查看,或到 http://www.lshdic.com/editdhtml.asp 自行编辑测试--> <HTML><

可以固定的顶部的导航菜单简单实例代码

可以固定的顶部的导航菜单简单实例代码:固定于网页顶部的导航栏效果在当下网站比较流行,所谓的固定于网页的顶部一般来说并不是一直固定于顶部,而是在开始是位于某一个位置,当下拉滚动条使其到达顶部的时候才会固定在顶部,下面通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" con

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了,最后只放出代码供大家参考,其实网上也有这方面的资料,但是不是很好用,我还是自己写了 改变后的效果 手风琴一直都是比较漂亮和受欢迎的,但是基于树多级别来说,做起来就比较麻烦,所以我这里也用了手风琴加树的模式来做 注:上面的图标都是乱添加的,并不代表意思 进入正文: 首先必须下载一些图标.可以自行百度网页小图标

水平导航-js二级菜单方法一

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>水平导航-二级菜单</title> <style type="text/css"> *{ padding:0px; margin: 0px; } .navBar{ height: 30px; background-color:

Bootstrap系列 -- 40. 导航条二级菜单

在导航条中添加二级菜单也非常简单 <div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="##" class="navbar-brand">导航条</a> </div> <ul class="nav navb

ASP.net教程]大湿教我写.net通用权限框架之菜单导航篇

一.坑爹的老板 “我X!这个项目是要商业应用的,你还想用easyUI,500美刀的授权费用.一个项目才赚多少钱!赶紧给我换了,明天去客户那边要做demo的,今天晚上必须给我赶出来!不懂的去问大雄”黄总对我又是一通大吼. 我容易嘛我,以前做CS架构系统的,现在突然让我转BS,前端开发实在太费力了.更要命的是还碰上一个SB坑爹的小老板.公司一共就三个人,老板(抠得要死,不知道怎么讨到老婆的).大雄(大湿级攻城湿,BS前端开发大牛).我(屌丝码农). 二.开工搞起 好吧,老板都发话了,自己重做吧,啥都

左边菜单导航

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>左边导航</title> <style> *{margin:0;padding:0;/*background: #8d90ef;#0387e0*/text-decoration: none;list-style: none;} html{over