Как использовать несколько файлов .sitemap в ASP.NET - PullRequest
4 голосов
/ 27 мая 2009

Я думаю, что упускаю что-то очевидное из файлов Sitemap.

Я пытаюсь использовать ретранслятор для создания навигации по новой карте сайта, которую мы имеем на нашем сайте. Но я не хочу использовать наш обычный файл 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" />

Но как мне заставить SiteMapDataSource использовать Web.NEW.sitemap вместо карты сайта по умолчанию? Я думал, добавив атрибут, как:

SiteMapProvider="Web.NEW.sitemap"

должен это сделать, но без игры в кости.

Чего мне не хватает?

1 Ответ

9 голосов
/ 27 мая 2009

Необходимо правильно настроить ваш 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>

и затем установите для свойства SiteMapProvider имя поставщика из файла web.config.

SiteMapProvider="newProvider"
...