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. make all age=20 makefile 传参数

    你可以直接在Make的时候,在命令行下面传入一个参数或者变量,它会覆盖掉Makefile里面的变量或者参数.比如,在你的Makefile里面定义了一个变量age. .PHONY:all AGE = a ...

  2. pd.read_csv参数解析

    对pd.read_csv参数做如下解释: pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', n ...

  3. 目标检测:AlexNet

    AlexNet是2012年ImageNet竞赛冠军. 它是在CNN的基础上设计的,CNN(卷积神经网络)可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的 ...

  4. scrapy项目2:爬取智联招聘的金融类高端岗位(spider类)

    ---恢复内容开始--- 今天我们来爬取一下智联招聘上金融行业薪酬在50-100万的职位. 第一步:解析解析网页 当我们依次点击下边的索引页面是,发现url的规律如下: 第1页:http://www. ...

  5. Spring Boot教程(二十四)Web应用的统一异常处理

    我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况.Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来 ...

  6. 火狐使用阿里云OOS上传图片报错:“XML 解析错误:找不到根元素”

    问题描述: 使用阿里云OOS上传图片在火狐浏览器报错 "XML 解析错误:找不到根元素",但不影响功能的使用.阿里云返回信息: <Error> <Code> ...

  7. 如何解决tomcat9.0.14启动时控制台中出现乱码

    把/conf/logging.properties里的java.util.logging.ConsoleHandler.encoding= UTF-8改成java.util.logging.Conso ...

  8. XDebug安装配置教程

    笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 转载http://www.jb51.net/ar ...

  9. kafka多线程消费

    建立kafka消费类ConsumerRunnable ,实现Runnable接口: import com.alibaba.fastjson.JSON; import com.alibaba.fastj ...

  10. 【LeetCode】121、买卖股票的最佳时机

    Best Time to Buy and Sell Stock 题目等级:Easy 题目描述: Say you have an array for which the ith element is t ...