Карта сайта подкаталога 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" />