ASP.NET服务器控件Menu

http://www.cnblogs.com/huc87/archive/2009/04/05/1429831.html

ASP.NET服务器控件Menu

 

1.       ASP.NET 服务器控件Menu使用

 

 

1.1.       Menu概述

利用 ASP.NET Menu 控件,可以开发 ASP.NET 网页的静态和动态显示菜单。您可以在 Menu 控件中直接配置其内容,也可通过将该控件绑定到数据源的方式来指定其内容。

无需编写任何代码,便可控制 ASP.NET Menu 控件的外观、方向和内容。除该控件公开的可视属性外,该控件还支持 ASP.NET 控件外观和主题。

 

1.2.       静态显示和动态显示

1.2.1.                 概述

Menu 控件具有两种显示模式:静态模式和动态模式。静态显示意味着 Menu 控件始终是完全展开的。整个结构都是可视的,用户可以单击任何部位。在动态显示的菜单中,只有指定的部分是静态的,而只有用户将鼠标指针放置在父节点上时才会显示其子菜单项。

1.2.2.                 静态显示

使用 Menu 控件的 StaticDisplayLevels 属性可控制静态显示行为。StaticDisplayLevels 属性指示从根菜单算起,静态显示的菜单的层数。例如,如果将 StaticDisplayLevels 设置为 3,菜单将以静态显示的方式展开其前三层。静态显示的最小层数为 1,如果将该值设置为 0 或负数,该控件将会引发异常。

StaticDisplayLevels的默认值为1

 

1.2.3.                 动态显示

MaximumDynamicDisplayLevels 属性指定在静态显示层后应显示的动态显示菜单节点层数。例如,如果菜单有 3 个静态层和 2 个动态层,则菜单的前三层静态显示,后两层动态显示。

如果将 MaximumDynamicDisplayLevels 设置为 0,则不会动态显示任何菜单节点。如果将 MaximumDynamicDisplayLevels 设置为负数,则会引发异常。

默认值为3

1.2.4.                 演练:Menu静态显示

本演练显示了如何为 Microsoft Visual Studio 2008 ASP.NET 网站添加菜单的静态显示。

 

 创建新的网站

1.         在“文件”菜单中,指向“新建”,选择“网站”。

  

2.         在“新建网站”对话框中,选择“ASP.NET 网站”。

 

3.         在“语言”列表中,选择 Visual C#,再单击“确定”。

 

4.         在“位置”框中,保留选定的默认 HTTP,然后输入网站根目录的位置,使用“浏览”导航及创建新的文件夹(如果需要)。单击“确定”。

 

 

5.         网站项目将打开,并显示 Default.aspx 网页。

 

6.         打开Default.aspx设计器,点击左下方 “源”,打开了源码编辑器。

 

7.         将设计器自动生成的所有代码替换为下面代码:

 

 

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

<!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>

</head>

<body>

<h3>Menu StaticDisplayLevels Example</h3>

    <form id="form1" runat="server">

    <div>

    <asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="1">

  <Items>

    <asp:MenuItem Text="File" Value="File">

      <asp:MenuItem Text="New" Value="New"></asp:MenuItem>

      <asp:MenuItem Text="Open" Value="Open"></asp:MenuItem>

    </asp:MenuItem>

    <asp:MenuItem Text="Edit" Value="Edit">

      <asp:MenuItem Text="Copy" Value="Copy"></asp:MenuItem>

      <asp:MenuItem Text="Paste" Value="Paste"></asp:MenuItem>

    </asp:MenuItem>

    <asp:MenuItem Text="View" Value="View">

      <asp:MenuItem Text="Normal" Value="Normal"></asp:MenuItem>

      <asp:MenuItem Text="Preview" Value="Preview"></asp:MenuItem>

    </asp:MenuItem>

  </Items>

</asp:Menu>

    </div>

    </form>

</body>

</html>
 

其中<asp:MenuItem/>为菜单项,可以嵌套,可以很容易从上面代码理解。

改变StaticDisplayLevels的值以获取的不同的效果。

8.         Ctrl+F5 运行程序,如果一切顺利您将看到以下网页:

 

 

1.2.5.                 演练:Menu动态显示

本演练显示了如何为 Microsoft Visual Studio 2008 ASP.NET 网站添加菜单的动态显示。

 创建新的网站

9.         在“文件”菜单中,指向“新建”,选择“网站”。

 

10.      在“新建网站”对话框中,选择“ASP.NET 网站”。

 

11.      在“语言”列表中,选择 Visual C#,再单击“确定”。

 

12.      在“位置”框中,保留选定的默认 HTTP,然后输入网站根目录的位置,使用“浏览”导航及创建新的文件夹(如果需要)。单击“确定”。

 

 

13.      网站项目将打开,并显示 Default.aspx 网页。

 

14.      打开Default.aspx设计器,点击左下方 “源”,打开了源码编辑器。

 

15.      将设计器自动生成的所有代码替换为下面代码:

 

 

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

<!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>

</head>

<body>

<h3>Menu MaximumDynamicDisplayLevels Example</h3>

    <form id="form1" runat="server">

      <asp:menu id="NavigationMenu"

        staticdisplaylevels="1"

        maximumdynamicdisplaylevels="2" 

        orientation="Vertical"   

        runat="server">

        <items>

          <asp:menuitem navigateurl="Home.aspx" 

            text="Home"

            tooltip="Home">

            <asp:menuitem navigateurl="Music.aspx"

              text="Music"

              tooltip="Music">

              <asp:menuitem navigateurl="Classical.aspx" 

                text="Classical"

                tooltip="Classical"/>

              <asp:menuitem navigateurl="Rock.aspx"

                text="Rock"

                tooltip="Rock"/>

              <asp:menuitem navigateurl="Jazz.aspx"

                text="Jazz"

                tooltip="Jazz"/>

            </asp:menuitem>

            <asp:menuitem navigateurl="Movies.aspx"

              text="Movies"

              tooltip="Movies">

              <asp:menuitem navigateurl="Action.aspx"

                text="Action"

                tooltip="Action"/>

              <asp:menuitem navigateurl="Drama.aspx"

                text="Drama"

                tooltip="Drama"/>

              <asp:menuitem navigateurl="Musical.aspx"

                text="Musical"

                tooltip="Musical"/>

            </asp:menuitem>

          </asp:menuitem>

        </items>

      </asp:menu>

    </div>

    </form>

</body>

</html>

 

其中<asp:MenuItem/>为菜单项,可以嵌套,可以很容易从上面代码理解。

 

改变maximumdynamicdisplaylevels的值以获取的不同的效果。

16.      Ctrl+F5 运行程序,如果一切顺利您将看到以下网页:

 

  

转载于:https://www.cnblogs.com/Echo529/p/6386424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000;width:150px; height:30px; text-align:center; color:#fff; border-bottom:1px solid #FFF; background:#0069A3; line-height:30px; font-size:14px; overflow:hidden;} .menu ul {padding:0; margin:0;list-style-type: none; } .menu ul li {float:left; margin-right:1px; position:relative;} .menu ul li ul {display: none;} /* specific to non IE browsers */ .menu ul li:hover a {color:#fff; background:#028DE8;}/*一级菜单事件*/ .menu ul li:hover ul {display:block; position:absolute; top:0; left:151px; width:100px;} .menu ul li:hover ul li a.hide {background:#6a3; color:#fff;}/*三级菜单常规*/ .menu ul li:hover ul li:hover a.hide {background:#028DE8; color:#000;}/*三级菜单事件*/ .menu ul li:hover ul li ul {display: none;} .menu ul li:hover ul li a {display:block; background:#028DE8; color:#000;}/*二,三级菜单常规*/ .menu ul li:hover ul li a:hover {background:#6fc; color:#000;}/*二,三级菜单事件*/ .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:151px; top:0; width:100px;} </style> </head> <body> <form id="form1" runat="server"> <div class="menu"> <ul> <li><a class="hide" href="#">城乡规划</a> <ul> <li><a href="#" title="二级菜单1">二级菜单一</a></li> <li><a href="#" title="二级菜单2">二级菜单二</a></li> <li><a href="#" title="二级菜单3">二级菜单三</a></li> <li><a class="hide" href="#" title="这是三级菜单">三级菜单</a> <ul> .................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值