/ / Utiliser deux sitemap différents dans une application Web - c #, asp.net, sitemap

Utiliser deux sitemap différents dans une application Web - c #, asp.net, sitemap

J'ai un champ dans la base de données qui peut être vrai ou faux. Je veux montrer web1.sitemap si ce champ est vrai et afficher web2.sitemap s'il est faux. Comment je fais ça.

Réponses:

1 pour la réponse № 1

Vous pouvez ajouter deux sitemap datasouurce, puis affecter ces sources de données à votre contrôle en code. comme vous le faites avec les contrôles de données. J'ai mis en œuvre de cette façon et fonctionne bien pour moi.

par exemple. menu1.datasource = sitemapdatasouce1;

vous pouvez créer vos propres fournisseurs de carte de site, etc. dans le code .. ce n’est pas très compliqué .. regardez msdn .. http://msdn.microsoft.com/en-us/library/ms178432.aspx

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

j'aime créer ma classe de fournisseur de sitmapet créez un objet fournisseur sitemap et affectez-le à l'objet de classe sitemapdatasource .. vous pouvez ensuite utiliser cet objet source de données sitemap comme typé sitemapDatasource .. espérons que cela vous aide un peu ..


1 pour la réponse № 2

Vous pourriez configurer plusieurs sitemaps dans votre web.config. Et en fonction de la valeur du champ de votre base de données, remplacez SiteMapProvider de votre menu / arborescence par celui qui correspond: web1 ou web2 par exemple.

<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>