如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap?

    在默认情况下,ASP.NET 站点导航使用一个名为 Web.sitemap 的 XML 文件,该文件描述网站的层次结构。但是,您可能要使用多个站点地图文件或站点地图提供程序来描述整个网站的导航结构。

   若要为一个站点配置多个站点地图,在 Web.config 文件中配置多个站点地图

在 Web.config 文件中,找到 <siteMap> 部分。如果该部分不存在,则使用下面的代码。否则,只需插入 <add> 部分。

Code

如果你有多个sitemap可以加多个<add>,siteMapFile 是指定你所用地Sitemap,name请不要用相同的name(默认的是ASPNetXmlSiteMapProvider),因为name 相同就会覆盖前一个。配置文件就写好了

在页面中如果是SiteMapPath只用把配置文件name 指定给它地SiteMapProvider属性就行了

如果是TreeView那就要配置它的SiteMapDataSource的siteMapProvider属性

下面看一代码:

 

Code

 

Code

 

如果你不指定他们的SiteMapProvider 他就会使用默认的如下:

 

Code

这样就实现了一个站点可以使用多个Web.siteMap了。还有另外一种方式实现那就是重写它的提供者,这种方式稍微有点复杂,在下次文章中就会写到。

 

源代码下载 

posted @ 2008-09-12 17:20  964  阅读(3181)  评论(7编辑  收藏  举报