服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

如何自定义SiteMapPath Web服务器控件外观


发布日期:2018年09月14日
 
如何自定义SiteMapPath Web服务器控件外观
您可以通过设置站点导航控件的属性或为该控件配置适用的模板自定义该控件的可视外观模板和样式根据 SiteMapPath 的备注部分中介绍的两个优先级规则应用于链接

此外您也可以将主题或控件外观应用于控件还可以开发符合您的呈现需要的自定义站点导航控件

SiteMapPath 控件显示一个导航路径(也称为 breadcrumb 或 eyebrow)它以路径形式显示当前页面返回到网站主页的链接在某一 ASPNET 页上SiteMapPath 控件显示类似于以下的内容

主页 > 服务 > 培训

TreeView 和 Menu 控件也呈现站点地图数据它们与 SiteMapPath 控件类似可以像大多数其他 Web 控件一样进行自定义本主题介绍如何使用 SiteMapPath Web 服务器控件的下列自定义功能

·指定显示在链接之间的字符或图像

·反转导航路径的方向

·指定显示的父链接的数量

本主题中介绍的过程假定您已创建了一个站点地图和一个包含 SiteMapPath 控件的页面您可以在 ASPNET 站点地图中使用 Websitemap 示例文件

自定义链接样式属性

在包含 SiteMapPath 控件的 ASPNET 网页中向控件添加以下属性

RootNodeStyleFontNames=Verdana

RootNodeStyleForeColor=Orange

RootNodeStyleBorderWidth=

例如SiteMapPath 控件的代码如下所示

<asp:SiteMapPath ID=SiteMapPath Runat=server

SkipLinkText=Skip Menu

RootNodeStyleFontNames=Verdana

RootNodeStyleForeColor=Orange

RootNodeStyleBorderWidth= >

</asp:SiteMapPath>

可以使用 Style 和 FontInfo 类中介绍的大多数属性其中包括 CssClass 属性

如果希望每个链接的样式各不相同请对 SiteMapPath 控件的 ParentNodeStyleCurrentNodeStyle 和 PathSeperatorStyle 属性分别重复上一步骤

说明 若要提高性能可以使用 NodeTemplate 一次性完成所有链接的样式自定义

自定义显示在链接之间的字符

在包含 SiteMapPath 控件的 ASPNET 网页中向该控件添加 PathSeparator 属性

例如SiteMapPath 控件的代码如下所示

<asp:SiteMapPath ID=SiteMapPath Runat=server

PathSeparator= :: >

</asp:SiteMapPath>

您的 SiteMapPath 控件将显示类似下面的内容

主页 :: 服务 :: 培训

可以使用任意字符串分隔链接但若要使用图像分隔链接请按照下面步骤操作

指定显示在链接之间的图像

在包含 SiteMapPath 控件的 ASPNET 网页中向控件添加以下代码行

<PathSeparatorTemplate>

<asp:Image ID=Image Runat=Server

Width=

ImageUrl=Images/PathSeparatorImagejpg />

</PathSeparatorTemplate>

</PathSeparatorTemplate>

例如SiteMapPath 控件的代码如下所示

<asp:SiteMapPath ID=SiteMapPath Runat=server >

<PathSeparatorTemplate>

<asp:Image ID=Image Runat=Server

Width=

ImageUrl=Images/PathSeparatorImagejpg />

</PathSeparatorTemplate>

</PathSeparatorTemplate>

</asp:SiteMapPath>

反转 SiteMapPath 控件所显示的路径的方向

在包含 SiteMapPath 控件的 ASPNET 网页中向该控件添加 PathDirection 和 PathSeparator

例如SiteMapPath 控件的代码如下所示

<asp:SiteMapPath ID=SiteMapPath Runat=server

PathDirection=CurrentToRoot

PathSeparator= < >

</asp:SiteMapPath>

限制显示的父链接的数量

在包含 SiteMapPath 控件的 ASPNET 网页中向该控件添加 ParentLevelsDisplayed 属性

例如最多显示两个父链接的 SiteMapPath 控件的代码如下所示

<asp:SiteMapPath ID=SiteMapPath Runat=server

ParentLevelsDisplayed= >

</asp:SiteMapPath>

上一篇:用ICallbackEventHandler实现客户端与服务器端异步

下一篇:ASP.NET -TreeView Web 服务器控件事件