网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:.NET Treeview无限级无刷新示例 下一篇:编辑web.config 保证ASP.NET的安全
在ASP.NET 2.0中建立站点导航层次

来源: 作者: 添加日期:2007-2-27 7:27:28 点击次数:


  在Web页面上提供站点导航的最简单办法就是使用图形化的站点导航控件(SiteMapPath、TreeView和 Menu)。

  · SiteMapPath--一个breadcrumb控件,它检索用户的当前页面并显示页面的层次结构。这让用户可以导航回层次中其它的页面。SiteMapPath只能与SiteMapProvider一起使用,需要设置控件的SiteMapProvider属性。

  · TreeView--在Web页面上提供垂直的用户界面,它可以展开和收缩选中的节点,也可以提供检查框功能以供用户选择数据项。TreeView控件支持宣告式的或编程设置数据元素和数据源控件。如果你使用SiteMapDataSource控件,那么数据绑定就是自动进行的。

  · Menu--提供水平的或垂直的用户界面,当用户把鼠标放在一项上的时候会弹出子菜单。Menu控件支持宣告式的或编程设置数据元素或数据源控件。如果你使用SiteMapDataSource控件,数据绑定就是自动进行的。

  请注意,TreeView和Menu控件都可以用于非导航的情形。

  在下面的例子中,你看到的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" />



  使用站点导航API

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

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

  · 检索SiteMapNode的父或子节点。

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

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

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

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

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

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

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

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

本新闻共7页,当前在第2页  1  2  3  4  5  6  7  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |