开发者可以使用 SiteMapPath
,TreeView
,或者 Menu
控件为网站用户提供一致的导航方式。
SiteMapPath
控件显示一条导航路径(节点之间通过特殊符号分隔),用于指明当前页面的位置以及返回到主页的路径。
提示:如果 .aspx 页面中包含 SiteMapPath
控件,那么为了控件的正确显示,要求该 .aspx 页面的路径必须也列在 Web.sitemap 文件中。
在 Web 页面中,SiteMapPath
控件会在用户浏览页面时显示出如下内容:
Home > Services > Training
TreeView
控件显示的树形结构可以帮助用户在网站的不同页面之间进行跳转。鼠标单击节点时会自动展开或收缩所包含的子节点内容。当 TreeView
控件第一次呈现时,所有内容都是被展开的。Web 页面中的 TreeView
控件会显示出如下内容:
- Home - Services + Training
Menu
控件显示的下拉式菜单可以帮助用户在网站的不同页面之间进行跳转。鼠标经过菜单项时会展开所包含的子节点内容。
要想使用网站导航控件,就必须先在 Web.sitemap 文件中对 Web 站点的结构进行描述。
创建 Web.sitemap 文件
-
在 Web 站点的根目录创建文件 Web.sitemap。
-
打开 Web.sitemap 文件并添加下列代码。
<?xml version="1.0" encoding="utf-8" ?> <siteMap> <siteMapNode title="Home" > <siteMapNode title="Services" > <siteMapNode title="Training" url="~/Training.aspx"/> </siteMapNode> </siteMapNode> </siteMap>
提示:当列出并不存在的 URL,或者列出重复出现的 URL 时 Web 应用程序会出现错误。参数
url
可以使用特殊的 "~/" 符号作为路径的开始,从而指明使用的是应用程序根目录。本文的稍后部分将创建 Traning.aspx 页面。
-
保存并关闭文件。
在页面中添加网站导航
-
在 Web 站点的根目录创建文件 Training.aspx。
-
打开 Traning.aspx 文件并添加下列代码。
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Simple Navigation Controls</title> </head> <body> <form id="form1" runat="server"> <div> <h2>Using SiteMapPath</h2> <asp:SiteMapPath ID="SiteMapPath1" Runat="server"> </asp:SiteMapPath> <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" /> <h2>Using TreeView</h2> <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1"> </asp:TreeView> <h2>Using Menu</h2> <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1"> </asp:Menu> <h2>Using a Horizontal Menu</h2> <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticDisplayLevels="2" > </asp:Menu> </div> </form> </body> </html>
-
保存并关闭文件,这时就可以在浏览器中对该文件进行浏览并查看控件是如何显示 Web 站点的导航结构的。
安全性
开发者还可以在导航结构中为特殊的安全角色成员隐藏相应的链接内容。