如何在ASP.NET中使用多个.sitemap文件

Bes*_*ska 4 sitemap asp.net

我想我遗漏了一些关于站点地图的明显信息.

我正在尝试使用转发器为我们网站上的新站点地图生成一些导航.但我不想使用我们正常的Web.sitemap文件,我想使用我们的新文件......我们称之为"Web.NEW.sitemap".

代码似乎有点明显......

<asp:Repeater ID="rptMyRepeater" DataSourceID="mySitemap" runat="server">
    <ItemTemplate>
        blah blah blah
    </ItemTemplate>
</asp:Repeater>

<asp:SiteMapDataSource ID="mySitemap" runat="server" />
Run Code Online (Sandbox Code Playgroud)

但是如何让SiteMapDataSource使用Web.NEW.sitemap而不是默认的站点地图?我想添加一个属性,如:

SiteMapProvider="Web.NEW.sitemap"
Run Code Online (Sandbox Code Playgroud)

应该这样做,但没有骰子.

我错过了什么?

Gre*_*reg 9

您必须正确配置web.config以使用SiteMapDataSource属性.使用SiteMap元素:

<siteMap defaultProvider="oldProvider">
  <providers>
    <clear />
    <add name="oldProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap" />
    <add name="newProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.NEW.sitemap" />
  </providers>
</siteMap>
Run Code Online (Sandbox Code Playgroud)

然后将webMapProvider属性设置为web.config文件中的提供程序名称.

SiteMapProvider="newProvider"
Run Code Online (Sandbox Code Playgroud)