SiteMapPath 控件显示一个导航路径(也称为 breadcrumb 或 eyebrow),它以路径形式显示当前页面返回到网站主页的链接。在某一 ASP.NET 页上,SiteMapPath 控件显示类似于以下的内容:
主页 > 服务 > 培训
TreeView 和 Menu 控件也呈现站点地图数据,它们与 SiteMapPath 控件类似,可以像大多数其他 Web 控件一样进行自定义。本主题介绍如何使用 SiteMapPath Web 服务器控件的下列自定义功能:
指定显示在链接之间的字符或图像。
反转导航路径的方向。
指定显示的父链接的数量。
本主题中介绍的过程假定您已创建了一个站点地图和一个包含 SiteMapPath 控件的页面。您可以在 ASP.NET 站点地图中使用 Web.sitemap 示例文件。
在包含 SiteMapPath 控件的 ASP.NET 网页中,向控件添加以下属性:
RootNodeStyle-Font-Names="Verdana" RootNodeStyle-ForeColor="Orange" RootNodeStyle-BorderWidth=2
例如:SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" SkipLinkText="Skip Menu" RootNodeStyle-Font-Names="Verdana" RootNodeStyle-ForeColor="Orange" RootNodeStyle-BorderWidth=2 > </asp:SiteMapPath>
可以使用 Style 和 FontInfo 类中介绍的大多数属性,其中包括 CssClass 属性。
如果希望每个链接的样式各不相同,请对 SiteMapPath 控件的 ParentNodeStyle、CurrentNodeStyle 和 PathSeperatorStyle 属性分别重复上一步。
注意
若要提高性能,可以使用 NodeTemplate 一次性完成所有链接的样式自定义。有关更多信息,请参见如何:创建 ASP.NET Web 服务器控件模板。
在包含 SiteMapPath 控件的 ASP.NET 网页中,向该控件添加 PathSeparator 属性。
例如:SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" PathSeparator=" :: "> </asp:SiteMapPath>
您的 SiteMapPath 控件将显示类似下面的内容:
主页 :: 服务 :: 培训
可以使用任意字符串分隔链接,但若要使用图像分隔链接,请按照下面步骤操作。
在包含 SiteMapPath 控件的 ASP.NET 网页中,向控件添加以下代码行:
<PathSeparatorTemplate> <asp:Image Runat="Server" Width="20" ImageUrl="Images/PathSeparatorImage.jpg" /> </PathSeparatorTemplate> </PathSeparatorTemplate>
例如:SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" > <PathSeparatorTemplate> <asp:Image Runat="Server" Width="20" ImageUrl="Images/PathSeparatorImage.jpg" /> </PathSeparatorTemplate> </PathSeparatorTemplate> </asp:SiteMapPath>
在包含 SiteMapPath 控件的 ASP.NET 网页中,向该控件添加 PathDirection 和 PathSeparator。
例如:SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" PathDirection="CurrentToRoot" PathSeparator=" <-- " > </asp:SiteMapPath>
在包含 SiteMapPath 控件的 ASP.NET 网页中,向该控件添加 ParentLevelsDisplayed 属性。
例如,最多显示两个父链接的 SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" ParentLevelsDisplayed="2" > </asp:SiteMapPath>
网站的每个网页上通常都使用站点导航控件。在每次访问网页和每次回发时,屏幕读取器和其他辅助设备都会朗读导航控件中的文字。
SiteMapPath、TreeView 和 Menu 站点导航控件分别包含一个名为 SkipLinkText 的属性,使用该属性可以跳过后续页或同一页面的不同视图上的重复信息。
在包含导航控件的 ASP.NET 网页上,向该控件添加以下属性:
SkipLinkText="Skipped Menu"
例如:SiteMapPath 控件的代码如下所示:
<asp:SiteMapPath Runat="server" SkipLinkText="Skip Breadcrumb"> </asp:SiteMapPath>