在ASP.NET 2.0中建立站点导航层次(2)

作者:凯旋网络来源:凯旋网络

  在下面的例子中,你看到的TreeView和Menu控件为不同的区域和操作(例如NodeStyle和HoverNodeStyle)配置了一些样式属性。例子中的TreeView和Menu控件都连接到页面上的同一个SiteMapDataSource控件。SiteMapPath控件通过Web.config文件中设置的默认的SiteMapProvider来访问相同的数据。 站.长.站

  以下是引用片段:
<asp:treeview ID="TreeView1" ForeColor="White" DataSourceId="SiteMapDataSource1" NodeIndent="0" NodeStyle-ChildNodesPadding="10" runat="server">  
<LevelStyles>  
<asp:TreeNodeStyle Font-Bold="true"/>  
<asp:TreeNodeStyle />  
<asp:TreeNodeStyle Font-Size="x-small"/>  
</LevelStyles>  
<nodestyle forecolor="White" HorizontalPadding="5"/>  
<SelectedNodeStyle backcolor="lightblue" forecolor="blue" />  
<HoverNodeStyle Font-UnderLine="true" />  
</asp:treeview>  
<asp:sitemappath id="SiteMapPath1" runat="server" />  
<asp:Menu ID="Menu1" DataSourceId="SiteMapDataSource1" runat="server">  
<DynamicSelectedStyle BackColor="lightblue" ForeColor="Blue" />  
<DynamicHoverStyle Font-Underline="true" />  

[中国站长站]

<StaticHoverStyle Font-Underline="true" />  
</asp:Menu>  
<asp:sitemapdatasource id="SiteMapDataSource1" runat="server" /> Chinaz.com

  使用站点导航API

Chinaz_com

  站点导航API是使用可配置的提供程序访问导航数据的编程抽象内容。站点导航提供程序把导航数据的存储细节信息与API的其它部分隔离开来。站点导航API通过SiteMap和SiteMapNode类来暴露导航数据。SiteMap类返回与当前页面对应的SiteMapNode实例。它还可以访问那些为站点导航特性配置的提供程序。SiteMapProvider为执行下面一些事务提供了丰富的API:

Www~Chinaz~com

  · 依据当前的HttpContext或任意URL检索SiteMapNode实例。 Chinaz@com

  · 检索SiteMapNode的父或子节点。

中国站长_站,为中文网站提供动力

  · 访问当前页面的SiteMapNode,以及整个导航层次中的根SiteMapNode。 Chinaz@com

  · 执行授权规则,这样就保证了提供程序只返回用户可以看见的节点。

中国.站.长站

  SiteMapNode实例暴露的基本导航信息和功能包括: Www@Chinaz@com

  · URL、Title和description属性,以及开发者给SiteMapNode添加的自定义属性。 站.长站

  · 获取某个节点的父和子节点。 站长.站

  · 在某个节点的前后节点之间进行导航。

Chinaz

  · 获取SiteMapProvider实例的指针,它返回一个节点。

中国站长.站

  ASP.NET发布的时候带有XmlSiteMapProvider提供程序。该提供程序使用XML文件(web.sitemap)中的数据,并根据数据返回SiteMapNode实例。XmlSiteMapProvider有下面一些功能:

中.国.站长站

  · 多个站点地图(sitemap)文件可以链接在一起来构建一个"虚拟的"导航数据集合。 Chinaz@com

  · 多个XmlSiteMapProvider实例可以链接到一起来构建一个"虚拟的"导航数据集合。

中国站长.站

  · 提供程序可以根据站点当前的文件授权和URL授权规则来返回过虑后的节点。

中国站.长站

  有了SiteMapProvider指针之后,你就可以根据URL来检索特定节点的站点导航数据。它会让你获取站点导航数据中的SiteMapNode实例指针。可以检索任意SiteMapNode实例的能力和从任何SiteMapNode开始进行站点导航的能力组合在一起,使你能够轻易地遍

  • 广告推荐