配置多个站点地图,为不同页面添加不同的站点导航

Visual Studio中有SiteMapPathTreeView两个导航控件.

SiteMapPath 控件显示如下:

主页 > 服务 > 培训

TreeView 控件显示一个树结构,用户可通过此树结构遍历指向站点中不同页的链接。单击包含子节点的节点可将其展开或折叠。第一次呈现时,TreeView 控件完全展开。在网页上,TreeView 控件显示如下(+号代表是母链接):

- 主页

- 服务

+ 培训

如只使用一个站点地图文件,默认情况下,ASP.NET 站点导航使用一个名为 Web.sitemap 的 XML 文件,该文件描述网站的层次结构。

由于控件有默认指向,无需另外配置Web.sitemap 文件.

但是,如果要使用多个站点地图文件或站点地图提供程序来描述整个网站的导航结构。

要为一个站点配置多个站点地图,请从应用程序根目录中的站点地图开始。然后,在 Web.config 文件中将根提供程序配置为默认站点地图提供程序。最后,在SiteMapNode 对象中引用子站点地图或提供程序,从而链接到这些地图或提供程序.

在 Web.config 文件中配置多个站点地图.

就在Web.config 文件中中添加以下代码.

   1: <configuration>
   2:   <!-- other configuration sections -->
   3:   <system.web>
   4:     <!-- other configuration sections -->
   5:     <siteMap defaultProvider="XmlSiteMapProvider">
   6:      <providers>
   7:        <add 
   8:          name="Company1SiteMap"
   9:          type="System.Web.XmlSiteMapProvider" 
  10:          siteMapFile="~/Company1/Company1.sitemap" />
  11:        <add 
  12:          name="Company2SiteMap"
  13:          type="System.Web.XmlSiteMapProvider" 
  14:          siteMapFile="~/Company2/Company2.sitemap" />
  15:      </providers>
  16:     </siteMap>
  17:   </system.web>
  18: </configuration>

 

<add> 部分自己修改添加.

 

然后在每个.sitemap中嵌入 siteMapNode 元素创建层次结构,如下

   1: <siteMap>
   2:   <siteMapNode title="Home" description="Home" url="~/default.aspx">
   3:     <siteMapNode title="Products" description="Our products"
   4:       url="~/Products.aspx">
   5:       <siteMapNode title="Hardware" description="Hardware choices"
   6:         url="~/Hardware.aspx" />
   7:       <siteMapNode title="Software" description="Software choices"
   8:         url="~/Software.aspx" />
   9:     </siteMapNode>
  10:     <siteMapNode title="Services" description="Services we offer"
  11:         url="~/Services.aspx">
  12:         <siteMapNode title="Training" description="Training classes"
  13:           url="~/Training.aspx" />
  14:         <siteMapNode title="Consulting" description="Consulting services" 
  15:           url="~/Consulting.aspx" />
  16:         <siteMapNode title="Support" description="Supports plans" 
  17:           url="~/Support.aspx" />
  18:     </siteMapNode>
  19:   </siteMapNode>
  20: </siteMap>
具体内容和页面通过title和description,url属性 自己修改

关于结构

<siteMapNode ...> ... </siteMapNode>是一组,当中
<siteMapNode title="" description="" url="" />是其子链接,可平行设.
自己根据网站设置.
 
参考
ASP.NET 站点地图,
如何:配置多个站点地图和站点地图
 
概念
ASP.NET 站点地图
ASP.NET 站点导航提供程序
ASP.NET 站点地图安全性调整
实现 ASP.NET 站点地图提供程序
保证 ASP.NET 站点导航的安全
保证数据访问的安全

posted on 2011-01-10 13:51  Jun Chan  阅读(1001)  评论(0编辑  收藏  举报

导航