怎样将sitemappath导航控件添加到"contentpathgepath"中

2010年 总版技术专家分年内排行榜第一2009年 总版技术专家分年内排行榜第一
2011年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第一2009年 总版技术专家分年内排行榜第一
2011年 总版技术专家分年内排行榜第二
2011年9月 扩充话题大版内专家分月排行榜第二2011年7月 扩充话题大版内专家分月排行榜第二2011年2月 扩充话题大版内专家分月排行榜第二2011年1月 扩充话题大版内专家分月排行榜第二2010年10月 扩充话题大版内专家分月排行榜第二
2011年3月 扩充话题大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。ASP.NET 导航控件
ASP.NET 导航控件
ASP.NET 2.0 拥有内建的导航控件。
维护大型站点的导航菜单是很困难,也很费时的。
在 ASP.NET 2.0 中,菜单可存储在文件中,这样维护起来更加方便。这个文件通常名为 web.sitemap,被存放在网站的根目录中。
此外,ASP.NET 2.0 拥有三种新的导航控件:
Dynamic menus
Site Map Path
Sitemap 文件
本教程使用下面的 sitemap 文件(站点地图):
&?xml version=&1.0& encoding=&ISO-8859-1& ?&
&siteMapNode title=&Home& url=&/aspnet/w3home.aspx&&
&siteMapNode title=&Services& url=&/aspnet/w3services.aspx&&
&siteMapNode title=&Training& url=&/aspnet/w3training.aspx&/&
&siteMapNode title=&Support& url=&/aspnet/w3support.aspx&/&
&/siteMapNode&
&/siteMapNode&
&/siteMap&
创建 sitemap 文件的规则:
XML 文件必须包含围绕内容的 &siteMap& 标签
&siteMap& 标签只能有一个 &siteMapNode& 子节点 (&home& page)
每个 &siteMapNode& 可以有多个子节点 (web pages)
每个 &siteMapNode& 拥有定义页面标题和 URL 的属性
注释:sitemap 文件必须存放在站点的根目录中,URL 属性必须相对于该根目录。
Dynamic Menu
&asp:Menu& 控件可显示标准的站点导航菜单。
代码实例:
&asp:SiteMapDataSource id=&nav1& runat=&server& /&
&form runat=&server&&
&asp:Menu runat=&server& DataSourceId=&nav1& /&
在上面的例子中的 &asp:Menu& 控件是一个供服务器创建导航菜单的占位符。
控件的数据源由 DataSourceId 属性进行定义。id=&nav1& 把它连接到 &asp:SiteMapDataSource& 控件。
&asp:SiteMapDataSource& 控件会自动连接默认的 sitemap 文件(web.sitemap)。
&asp:TreeView& 控件可显示多级导航菜单。
这种菜单看上去像一棵带有枝叶的树,可通过 + 或 - 符号来打开或关闭。
代码实例:
&asp:SiteMapDataSource id=&nav1& runat=&server& /&
&form runat=&server&&
&asp:TreeView runat=&server& DataSourceId=&nav1& /&
上面例子中的 &asp:TreeView& 控件是一个供服务器创建导航菜单的占位符。
控件的数据源由 DataSourceId 属性进行定义。id=&nav1& 把它连接到 &asp:SiteMapDataSource& 控件。
&asp:SiteMapDataSource& 控件会自动连接默认的 sitemap 文件(web.sitemap)。
SiteMapPath
SiteMapPath 控件可显示指向当前页面的指针(导航路径)。该路径显示为指向上级页面的可点击链接。
与 TreeView 和 Menu 控件不同,SiteMapPath 控件不使用 SiteMapDataSource。SiteMapPath 控件默认使用 web.sitemap 文件。
提示:如果 SiteMapPath 没有正确显示,很可能是由于 web.sitemap 文件中存在 URL 错误。
代码实例:
&form runat=&server&&
&asp:SiteMapPath runat=&server& /&
上面例子中的 &asp:SiteMapPath& 控件是一个供服务器创建导航菜单的占位符。在ASP.NET 2.0中使用页面导航控件
时间: 13:20:00来源:作者:蓝点(0)
  文/廖煜嵘   几乎每个网站里,为了方便用户在网站中进行页面导航,都少不了使用页面导航。有了页面导航的功能,用户可以很方便地在一个复杂的网站中进行页面之间的跳转。在以往的WEB编程中,要写一个好的页面导航功能,并不是那么容易的,也要使用一些技巧。而在asp.net 2.0中,为了方便进行页面导航,新增了一个叫做页面导航sitemapdatasource,其中还可以绑定到不同的其他页面,比如treeview,menu等,十分灵活,使到能很方便地实现页面导航的不同形式,而且还提供了运行时的编程接口,可以以编程的形式动态实现页面导航。本文将简单以几个例子来介绍一下在asp.net 2.0中如何实现页面导航。
  页面导航的结构和sitemapdatasource   在asp.net 2.0中,要实现页面导航,应该先以xml的形式,提供出整个网站的页面结构层次。我们可以编写一个叫web.sitemap的XML文本文件,在该文件中定义出整个要导航页面的结构层次。举例如下:                                             
  我们可以看到,其中,web.sitemap文件必须包含根结点sitemap。而且,设置一个父sitemapnode结点,该结点表明是默认的站点首页,在该父sitemapnode结点下,可以有若干个子sitemapnode结点,分别按层次结构代表了网站的各子栏目(留意一下上例中,各个子结点之间的包含关系)。而每一个sitemapnode结点中,有如下若干个属性:   1)URL属性:该属性指出要导航的栏目的地址链接,在web.sitemap中定义中,必须是每个栏目的相对地址。   2)Title属性:该属性指出每个子栏目的名称,显示在页面中。   3)Description属性:该属性指定时,则用户在鼠标移动到该栏目时,出现有关该栏目的相关提示,类似于tooltips属性。   在设计好sitemap属性后,接下来就可以一步步构建页面导航功能了,主要有两个步骤:
  1) 向页面中添加sitemapdatasource。该会自动感应绑定web.sitemap中的内容。   2) 将sitemapdatasource绑定到如sitemappath,treeview,menu等中,也就是说,将它们的数据源设置为该sitemapdatasource。   知道了方法后,我们下面就分别以treeview,menu,sitemappath三种为例子,介绍一下如何和sitemapdatasource进行配合使用。   先来介绍使用treeview和sitemapdatasource 配合使用的方法。Treeview树形列表十分适合于用来做页面导航,为了能具体说明,我们充分利用asp.net中的masterpage,先搭建出一个网站的基本框架架构。   在visual web developer 2005 beta 1中,新建一个网站,之后添加上文的web.sitemap文件,再添加一个名叫Navigation的master类型的页面,代码如下:                                  <asp:TreeView ID="TreeView1" Runat="server" DataSourceID="SiteMapDataSource1"       ExpandDepth="2" ShowExpandCollapse="False" NodeIndent="10">                                                                                          
  在上面的代码中,其中的TREEVIEW中的DATASORUCE属性中,就指定了sitemapdatasource,并且在treeview中,也定义了不同结点的样式。   在完成了masterpage页面后,就等于已经把网站的模版页建立起来了,接下来就可以新建其他子页面,以继承masterpage页面,并且新建各自页面的内容了。比如,新建一个default.aspx页面,代码如下:      <asp:Content ContentPlaceHolderID="ContentPlaceHolder1"   ID="Content1" Runat="Server">   This is the default page   
  可以看到,当建立了模版页后,就可以新建其他的子页面了,只需要在其中的contentplaceholderid中写入不同的内容就可以了。运行起来后,效果如图:
   接下来,我们来介绍如何将menu菜单和sitemapdatasource 配合使用。其中,我们在上面的例子的基础上,在下面增加如下代码就可以了,         <asp:Menu ID="Menu1" Runat="Server"   DataSourceID="SiteMapDataSource1">         
  其中,我们增加了一个menu,其中将其datasourceid属性设定为sitemapdatasource1就可以了,运行如下图,当然,我们可以改变menu的显示位置,如可以将其改成垂直样式显示。
  而对于我们经常见到的显示出页面当前路径的导航条功能,在asp.net 2.0中也可以轻易实现,我们可以使用其中的sitemappath。我们紧接着在上文代码中的menu下,增加如下代码:         Currently Selected Page is:         
  要注意的是,只要增加sitemappath就可以了,因为它会自动和已经增加的sitemapdatasource进行绑定的。我们为了说明问题,另外增加一个页面member.aspx,代码如下:         This is the members page   
  运行结果如下:
  最后,我们看一下,如何通过编程的方式来获取页面导航中的相关数据。其中,必须引用到的是sitemap类,该类提供了很多相关的方法和属性,最重要的是currentnode属性,它可以指出当前用户正在浏览的是哪一个栏目页面,这用来跟踪用户在网站中的行动轨迹,并进行站点数据统计,有时是很有用的,举例如下:            This is the members page   
  在这个例子中,使用程序的方式,得出了用户当前正在浏览的栏目页面,以及该栏目的父栏目的名称,运行结果如下图:

我要回帖

更多关于 page content 的文章

 

随机推荐