ASP.NET - 如何:在非分层 Web 服务器控件中显示站点地图数据

站点地图数据从本质上而言是分层的,这意味着每个节点可以包含零个或多个子节点。TreeView Menu 控件就是用来处理分层数据的。但是,也可以将站点地图数据绑定到非分层控件,例如 DropDownListCheckBoxList 和其他以线性或平面格式显示数据的控件。

说明: 只有 SiteMapPath 控件和支持 INavigateUIData 接口的控件将站点地图节点呈现为链接。

示例

下面的代码示例使用 DropDownList 控件显示来自 Web.sitemap 文件的站点地图数据。

当客户端在下拉列表中选择某项时,浏览器会被重定向到选定的页。这是通过在 OnSelectedIndexChanged 事件处理程序中调用 Redirect 方法来实现的。

如果将此代码示例放置在母版页中,则 SiteMapDataSource 控件中的 StartFromCurrentNode 属性将确保下拉列表始终显示一个站点地图,此站点地图从当前执行的页开始。

<%@ Page Language="C#" AutoEventWireup="true" %>

>

DropDownList Bound to SiteMapDataSource

StartFromCurrentNode="true"

ShowStartingNode="false" />

DataSourceID="SiteMapDataSource1"

AutoPostBack="True"

DataTextField="Title"

DataValueField="Url"

OnSelectedIndexChanged="_OnSelectedIndexChanged" >

如果页中不包含任何子节点,则下拉列表将是空的。如果客户端选择了某项,但在 Web.sitemap 文件中未设置与之相应的 URL 属性,则客户端将被重定向到应用程序的主页。

你可能感兴趣的:(ASP.NET - 如何:在非分层 Web 服务器控件中显示站点地图数据)