asp.net более одной карты сайта

#asp.net #vb.net #navigation #sitemap

#asp.net #vb.net #навигация #Карта сайта

Вопрос:

У меня возникла проблема с элементом управления картой сайта, я добавил иерархические уровни в файл web.sitemap и добавил элемент управления картой сайта на различные мастер-страницы. Однако у меня есть две домашние страницы, которые можно просматривать в зависимости от пользователя системы.

Есть ли какой-либо способ определить две структуры карты сайта в этом файле web.sitemap или я могу просто создать другой файл карты сайта?

Я получаю

 Home > Home > View Details
  

Вместо

 Home > View Details (for my first user)
  

Спасибо

Ответ №1:

Да, вы можете определить две структуры карты сайта, создав отдельный файл карты сайта. После создания ваших карт сайта все, что вам нужно сделать, это указать их в вашем файле Web.Config следующим образом:

 <siteMap>
  <providers>
    <add name="Homepage1" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Homepage1.sitemap" />
    <add name="Homepage2" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Homepage2.sitemap" />
  </providers>      
</siteMap>
  

Затем вы можете выбрать, какую карту сайта вы хотите выбрать, используя элемент управления SiteMapDataSource:

 <asp:SiteMapDataSource ID="SitemapDS" runat="server" ShowStartingNode="false" SiteMapProvider="Homepage1" />
  

Надеюсь, это поможет.