ASP.NET还内置了导航控件
网址导航
维护一个大型网站的菜单是困难和耗费时间。
在ASP.NET菜单可以存储在一个文件,使其更易于维护。 此文件通常被称为web.sitemap ,并存储在Web根目录下。
此外,ASP.NET有三个新的导航控件:
- 动态菜单
- 的TreeView
- 网站地图路径
站点地图文件
下面的sitemap文件在本教程中使用:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
<siteMapNode title="Home" url="/aspnet/w3home.aspx">
<siteMapNode title="Services" url="/aspnet/w3services.aspx">
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
创建sitemap文件的规则:
- XML文件必须包含一个<siteMap>围绕该内容标记
- 该<siteMap>标签只能有一个<siteMapNode>子节点(the "home" page)
- 每<siteMapNode>可以有多个子节点(web pages)
- 每<siteMapNode>有属性定义页面标题和URL
Note:站点地图文件必须放置在Web根目录和URL属性必须相对于根目录。
动态菜单
所述<asp:Menu>控件显示一个标准的站点导航菜单。
Code Example:
<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>
的<asp:Menu>上述的控制在该示例中为服务器创建导航菜单的占位符。
该控制的数据源是由定义DataSourceId属性。 该id="nav1"它连接到<asp:SiteMapDataSource>控制。
所述<asp:SiteMapDataSource>控制自动连接到默认站点地图文件( web.sitemap ) 。
点击此处查看Menu,TreeView控件和SiteMapPath控件的演示
树视图
所述<asp:TreeView>控件显示一个多层次的导航菜单。
菜单看起来像,可以开启或关闭+或分支的树 - 符号。
Code Example:
<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>
的<asp:TreeView>上述的控制在该示例中为服务器创建导航菜单的占位符。
该控制的数据源是由定义DataSourceId属性。 该id="nav1"它连接到<asp:SiteMapDataSource>控制。
所述<asp:SiteMapDataSource>控制自动连接到默认站点地图文件( web.sitemap ) 。
点击此处查看Menu,TreeView控件和SiteMapPath控件的演示
的SiteMapPath
SiteMapPath控件显示的线索(navigation path)到当前页面。 路径作为可点击的链接上几页。
不像TreeView和Menu控件SiteMapPath控件不NOT使用的SiteMapDataSource。 SiteMapPath控件默认使用Web.sitemap文件。
温馨提示:如果SiteMapPath没有正确显示,最有可能的原因是URL错误(typo)在Web.sitemap文件。
Code Example:
<form runat="server">
<asp:SiteMapPath runat="server" />
</form>
的<asp:SiteMapPath>在上面的示例性控制为服务器创建站点路径显示的占位符。
点击此处查看Menu,TreeView控件和SiteMapPath控件的演示