/ / Използвайте две различни Sitemap в уеб приложение - c #, asp.net, sitemap

Използвайте две различни Sitemap в уеб приложение - c #, asp.net, sitemap

Имам поле в база данни, което може да е вярно или невярно. Искам да покажа web1.sitemap, ако това поле е вярно и показва web2.sitemap, ако това е невярно. Как да направя това.

Отговори:

1 за отговор № 1

Можете да добавите две datasouurce на sitemap и след това да ги присвоите на контролния си код както правите с контролите за данни. изпълних се по този начин и работех добре за мен.

например. menu1.datasource = sitemapdatasouce1;

можете да създадете свои собствени доставчици на карта и т.н. в кода .. това не е много сложно .. вижте msdn .. http://msdn.microsoft.com/en-us/library/ms178432.aspx

http://msdn.microsoft.com/en-us/library/ms178433.aspx

обичам да създам класа на доставчика сии създайте обект на доставчик на sitemap и го присвоите на обекта на обекта sitemapdatasource .. след това можете да използвате този обект на обекта на база данни като въведен sitemapDatasource .. Надявам се това да ви помогне малко ..


1 за отговор № 2

Можеш настройте няколко Sitemap във вашия web.config. И в зависимост от стойността на полето на базата данни, променете SiteMapProvider на менюто / визуалната визия на съответната: например web1 или web2.

<configuration>
<!-- other configuration sections -->
<system.web>
<!-- other configuration sections -->
<siteMap defaultProvider="XmlSiteMapProvider">
<providers>
<add
name="web1"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/web1.sitemap" />
<add
name="web2"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/web2.sitemap" />
</providers>
</siteMap>
</system.web>
</configuration>