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. XML 简介 – 什么是 XML?

    XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. XML 很重要,也很容易学习. <?xml version="1 ...

  2. 拨号操作——android.intent.action.CALL

    button_14.setOnClickListener(new View.OnClickListener() {          @Override     public void onClick ...

  3. Java课堂动手动脑

    1.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件: 代码: package test; import java.io.IOException; im ...

  4. python爬虫系列之数据的存储(二):csv库的使用

    上一篇我们讲了怎么用 json格式保存数据,这一篇我们来看看如何用 csv模块进行数据读写. 一.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因 ...

  5. Luogu P5469 [NOI2019]机器人 (DP、多项式)

    不用FFT的多项式(大雾) 题目链接: https://www.luogu.org/problemnew/show/P5469 (这题在洛谷都成绿题了海星) 题解: 首先我们考虑,一个序列位置最右边的 ...

  6. Spring Cloud云服务架构 - commonservice-config配置服务搭建

    1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与 ...

  7. sqli-labs(20)

    0X01 试探一下 这是登录成功的页面 这里题目高速我们是基于cookie的注入 0X01抓包试探 这里登陆的时候有两个包 我们要含有cookie的那个包 0X02试探判断是否cookie存在注入 C ...

  8. [CSP-S模拟测试]:Cicada拿衣服(暴力+乱搞)

    题目传送门(内部题94) 输入格式 第一行两个整数$n,k$,代表衣服的数量和阈值. 接下来一行$n$个数,第$i$个数$a_i$表示每件衣服的愉悦值. 输出格式 输出一行$n$个数,第$i$个数为$ ...

  9. 不属于java语言鲁棒性特点的是

      A:java能检查程序在编译和运行时的错误 B:java能运行虚拟机实现跨平台 C:java自己操纵内存减少了内存出错的可能性 D:java还实现了真数组,避免了覆盖数据的可能 鲁棒性(Robus ...

  10. WebView:是应用程序打开web网页的UI控件前台

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...