Карта сайта подкаталога asp.net

У меня есть эта конфигурация в моем приложении.

~ / sitemap.aspx ~ / Web.sitemap ~ / mobile / sitemap.aspx ~ / mobile / Web.sitemap

"мобильная" папка не является приложением, и я не могу ее конвертировать по какой-то причине. Таким образом, нет файла webconfig там.

Здесь я хочу использовать ~ / mobile / Web.sitemap в качестве источника данных карты сайта для элемента управления treeview в ~/mobile/sitemap.aspx.

Когда я размещаю этот код:

<asp:SiteMapDataSource runat="server" ID="MobileSiteMap" />
<asp:TreeView ID="trvSiteMap" runat="server" DataSourceID="MobileSiteMap" />

он загружает ~ / Web.sitemap вместо ~ / mobile / Web.sitemap

Любая идея?

1 ответ

Решение

1: Добавьте запись в провайдеры карты сайта в ваш файл web.config, которая указывает на карту вашего мобильного сайта.

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<clear/>
<add name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.siteMap"/>
<add name="MyMobileSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/mobile/Web.sitemap"/>
</providers>
</siteMap>

2. Установите для свойства SiteMapProvider вашего источника данных MobileSiteMap значение этого недавно добавленного файла Sitemap.

<asp:SiteMapDataSource runat="server" ID="MobileSiteMap"  SiteMapProvider="MyMobileSiteMapProvider" />
<asp:TreeView ID="trvSiteMap" runat="server" DataSourceID="MobileSiteMap" />
Другие вопросы по тегам