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 运行程序,如果一切顺利您将看到以下网页:

ASP.NET服务器控件Menu的更多相关文章

  1. ASP.NET服务器控件对应的HTML标签

    了解ASP.NET的控件最终解析成什么HTML代码,有助于我们对ASP.NET更深的了解,在使用JS交互时也知道如何操作. ASP.NET 服务器控件渲染到客户端之后对应的HTML标签讲解. labe ...

  2. js 操作ASP.NET服务器控件

    js 操作ASP.NET服务器控件 在ASP.NET中使用js时,js获取DOM元素时,经常获取不到,这是因为获取的方法有误,现在介绍一方法,解决如何使用js获取ASP.NET控件在浏览器端生成htm ...

  3. 【转】【Asp.Net】asp.net服务器控件创建

    VS新建一个Web服务控件工程,会默认生成以下代码: namespace WebControlLibrary { [DefaultProperty("Text")] [Toolbo ...

  4. JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法(转)

    原文:JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法 jquery-easyui是一个基于jquery的图形界面插件,利用easyui可以创建很多好看的网页界面 ...

  5. Asp.net服务器控件在IE10下的不兼容问题

    Asp.net服务器控件在IE10下的不兼容问题 时间:2013-05-16 09:07点击: 89 次 [大 中 小] 相信很多使用IE10的童鞋们已经发现了这个问题,以下是本人在IE10标准模式下 ...

  6. asp.net服务器控件防止多次提交问题

    用户可能点击多次提交按钮.这样,导致向数据库中插入了多条相同的记录. 好像这2个方法都是针对的服务器控件! //方法一:在提交时调用一段客户端的代码. function a() { document. ...

  7. 向ASP.NET服务器控件中嵌入CSS资源

    Step1:于[项目解决方案]中右键新建[ASP.NET服务器控件]项目 Step2:于项目中添加[Resources]文件夹,于该文件夹下添加[CSS文件] Step3:单击该CSS文件,并将[属性 ...

  8. 自己写的一个ASP.NET服务器控件Repeater和GridView分页类

    不墨迹,直接上代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  9. 获取asp.net服务器控件的客户端ID和Name

    前几天在做项目的时候,遇到一个问题,想查看Asp.net中服务器控件在客户端显示的name属性.起初,感觉不是很难找,但就是找不到,几经周折,终于发现了: string btnClientName = ...

随机推荐

  1. html b标签 语法

    html b标签 语法 标签b是什么意思? b的意思是bold,b标签主要用于html中规定粗体文本,该标签内的字符将被设为粗体.B标签所传达的意思只是加粗,没有任何其它的作用. 作用:规定粗体文本. ...

  2. SPOJ 913 Query on a tree II

    spoj题面 Time limit 433 ms //spoj的时限都那么奇怪 Memory limit 1572864 kB //1.5个G,疯了 Code length Limit 15000 B ...

  3. 浅谈 Catalan number——卡特兰数

    一.定义: 卡特兰数是一组满足下面递推关系的数列: 二.变形: 首先,设h(n)为Catalan数的第n+1项,令h(0)=1,h(1)=1,Catalan数满足递推式: h(n)= h(0)*h(n ...

  4. ASP.NET MVC3.0下载功能实现

    C#代码: #region 下载文件 /// <summary> /// 下载文件 /// </summary> /// <param name="url&qu ...

  5. javadoc生成文档

    标签(空格分隔): javadoc java生成html的文档: 要生成注释文档html格式,java里面提供一个工具:javadoc 例如: javadoc -d myhelp -author -v ...

  6. tp5 select

    tp5  select出来的数据 和tp3.2select出来的数据 不一样, tp5  select出来的数据  含有很多我们不需要的东西,让我们小菜鸟看的很痛苦 解决办法 $date是查询出来的结 ...

  7. html上传文件

    不太懂Html 做备用 html的文件上传分两个 第一个是Html文件 浏览器加载用的 另一个是PHP文件 处理上传文件的 下面是Html文件 叫index.html <html> < ...

  8. 测开之路一百二十五:flask之urlencode参数传递和解析

    当get请求传参时,用?分隔参数和域名,用&分隔参数,如果参数里面本身就有&符号就会识别不出来,还是会当成分隔符,所以这些数据在传输的时候,就需要转义,现在普遍是转成urlencode ...

  9. oracle expdp/impdp/可传输表空间

    oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...

  10. 【MM系列】SAP 创建工厂

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 创建工厂   前言部分 大家 ...