/ / Use dos sitemap diferentes en una aplicación web - c #, asp.net, sitemap

Utilice dos sitemap diferentes en una aplicación web: c #, asp.net, sitemap

Tengo un campo en la base de datos que puede ser verdadero o falso. Quiero mostrar web1.sitemap si ese campo es verdadero y mostrar web2.sitemap si es falso. Cómo hago esto.

Respuestas

1 para la respuesta № 1

Puede agregar dos datos de mapa de sitio y luego asignarlos a su control en el código Como lo haces con los controles de datos. He implementado de esta manera y funcionando bien para mi.

por ejemplo. menu1.datasource = sitemapdatasouce1;

puede crear sus propios proveedores de mapas del sitio, etc. en el código ... no es muy complicado ... mira msdn .. http://msdn.microsoft.com/en-us/library/ms178432.aspx

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

Me gusta crear mi clase de proveedor de sitmapy cree el objeto proveedor del mapa del sitio y asígnelo al objeto de la clase sitemapdatasource. Luego, puede usar este objeto de fuente de datos del mapa del sitio como fuente de datos del mapa del sitio. Espero que esto te ayude un poco ..


1 para la respuesta № 2

Tú podrías configurar múltiples mapas de sitio en su web.config. Y dependiendo del valor del campo de su base de datos, cambie el Proveedor de Mapa de su Menú / Vista a la relevante: web1 o web2 por ejemplo.

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