当前位置:编程学习 > C#/ASP.NET >>

在ASP.NET 2.0中使用页面导航控件(2)

答案:     接下来,我们来介绍如何将menu菜单控件和sitemapdatasource 控件配合使用。其中,我们在上面的例子的基础上,在<table style="width: 100%; height: 100%" border="1">下面增加如下代码就可以了,
  
  <tr height="100px">
  <td colspan="2" align="left">
  <ASP:Menu ID="Menu1" Runat="Server"
  DataSourceID="SiteMapDataSource1">
  </asp:Menu>
  </td>
  </tr>
  
    其中,我们增加了一个menu控件,其中将其datasourceid属性设定为sitemapdatasource1就可以了,运行如下图,当然,我们可以改变menu控件的显示位置,如可以将其改成垂直样式显示。
  
  
  
  而对于我们经常见到的显示出页面当前路径的导航条功能,在ASP.NET 2.0中也可以轻易实现,我们可以使用其中的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>
  
    在这个例子中,使用程序的方式,得出了用户当前正在浏览的栏目页面,以及该栏目的父栏目的名称,运行结果如下图:
  
  
  
  可以看出,在asp.net 2.0中,实现页面导航的功能十分灵活而且方便,功能十分强大,更多的功能请参考MSDN。
  

上一个:DataGrid基于Access的快速分页法(1)
下一个:在ASP.NET 2.0中使用页面导航控件(1)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,