/ / Використання двох веб-сайтів у проекті - c #, asp.net, webforms, web-config, web.sitemap

Використання двох web.sitemap у проекті - c #, asp.net, webforms, web-config, web.sitemap

Я хочу використовувати дві різні мережі.Sitemap в одній програмі. (навігаційна панель завантажувача створена на моїй майстер-сторінці, я хочу, щоб різні сторінки зі стандартними макетами тощо). Таким чином, msdn каже, що ви повинні додати новий web.sitemap і ключ в web.config msdn документація тому після цього я не знаю, як задати запит на новий веб-сайт, оскільки я прочитав оригінал наступним чином:

SiteMapNode rootNode = SiteMap.RootNode;
makeNavbar(rootNode.ChildNodes, true, false);
....

І це нормально ... навігатор створив тут все добре ...

Але те, що я хочу, це щось на кшталт:

SiteMapBode rootNode = SiteMap.UseProvider("newSiteMap").RootNode;

очевидно, що функція не існує ...

Все, що я хочу, щоб його читати новий веб-сайт, не змінюючи занадто багато коду.

Чи може хтось вказати мені в правильному напрямку?

Заздалегідь спасибі.

Відповіді:

0 для відповіді № 1

Це у вашій конфігурації.

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

Наступне, що я роблю, просто додати asp: sitemapdataource до сторінки з правильним іменем, яке ви надали у файлі конфігурації.

то, якщо у вас є asp: menu, asp: repeater або будь-який інший елемент керування, ви можете використовувати datasourceid, щоб з'єднати його з asp: sitemapdataource

SiteMapDataSource test = new SiteMapDataSource();
test.Provider.RootNode

0 для відповіді № 2

Ну, я знайшов рішення. Використовуючи клас SiteMap як приклад, який використовується у питанні, ви можете отримати програмний доступ до різних web.sitemap і читати

SiteMapNode rootNode = SiteMap.Providers["SiteMap2"].RootNode;

Завдяки @Davy Quyo, який підтверджує мені перший крок: додавання провайдера в web.config