ASP.NET Menu控件提供另外一种网站地图导航方式

开发者在线 Builder.com.cn 更新时间:2007-10-17作者:Tony Patton 来源:开发者在线

本文关键词: Menu控件 ASP.NET Tony Patton 网站地图

本周,我的ASP.NET网站导航控件系列文章将从Site Map、SiteMapPath和TreeView转到Menu控件。

Menu控件概述

Menu控件包括显示在页面上的静态元素,以及用户选择某个菜单元素时出现的动态项目或菜单。它还能够显示来自高层数据源控件的数据。元素可以在数据源里定义,或者通过编程自动加到控件里。Menu控件可以与使用网站地图文件的SiteMapDataSource控件的值绑定在一起。
本文里的例子将用到下面这个网站地图。

<?xml version="1.0" encoding="utf-8" ?>
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
 <siteMapNode url="Default.aspx" title="Default Page"  description="Default page.">
 <siteMapNode url="Test1.aspx" title="Test page one"  description="Test page 1" />
 <siteMapNode url="Test2.aspx" title="Test page two"  description="Test page 2">
 <siteMapNode url="Test3.aspx" title="Test page three"  description="Test page 3" />
 </siteMapNode>
 </siteMapNode>
 </siteMap>

这个网站地图文件可以很容易就被用来填充一个Menu控件。下面的ASP.NET主页面包括一个Menu控件,以及用于数据的SiteMapDataSource控件。

<%@ Master Language="C#" %>
 <!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>TechRepublic.com - ASP.NET Menu Control</title>
 </head>
 <body>
 <form id="form1" runat="server">
 <div>
 <asp:Menu   ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
 </asp:Menu>
 <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
 <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
 </asp:contentplaceholder>
 </div></form></body></html>

这个例子用的是Menu控件默认的行为,也就是显示根节点,当鼠标指针停留在上面的时候,节点会动态地展开。子节点以同样的方式展开。

用户评论

  • 用户名
  • 评论内容