Карта сайта подкаталога asp.net - PullRequest
0 голосов
/ 23 мая 2011

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

~ / sitemap.aspx ~ / Web.sitemap ~ / Мобильный / sitemap.aspx ~ / Мобильный / 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 голос
/ 23 мая 2011

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" />
...