现,我们可以使用其中的sitemappath控件。我们紧接着在上文代 码中的menu控件下,增加如下代码:
<tr height="100px">
<td colspan="2" align="left">
Currently Selected Page is:
<asp:SiteMapPath Runat="Server" ID="SiteMapPath1"></asp:SiteMapPath>
</td>
</tr>
要注意的是,只要增加sitemappath控件就可以了,因为它会自动和已经增加 的sitemapdatasource控件进行绑定的。我们为了说明问题,另外增加一个页面 member.aspx,代码如下:
<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Members Page"%>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="Content1" Runat="Server">
This is the members page
</asp:Content>
运行结果如下:
最后,我们看一下,如何通过编程的方式来获取页面导航中的相关数据。其 中,必须引用到的是sitemap类,该类提供了很多相关的方法和属性,最重要的 是currentnode属性,它可以指出当前用户正在浏览的是哪一个栏目页面,这用 来跟踪用户在网站中的行动轨迹,并进行站点数据统计,有时是很有用的,举例 如下:
<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Members Page"%>
<script runat="Server">
void Page_Load(object sender, EventArgs e)
{
Response.Write("The currently selected root node is: " + SiteMap.CurrentNode.Description + "<br>");
Response.Write("The Parent for the currently selected node is : " +
SiteMap.CurrentNode.ParentNode.Description);
}
</script>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="Content1" Runat="Server">
This is the members page
</asp:Content>
在这个例子中,使用程序的方式,得出了用户当前正在浏览的栏目页面,以 及该栏目的父栏目的名称,运行结果如下图:
|