Compartir a través de


Cómo: Configurar varios mapas de sitio y proveedores de mapas de sitio

Actualización: noviembre 2007

De forma predeterminada, la exploración del sitio de ASP.NET funciona con un archivo XML denominado Web.sitemap en el que se describe la jerarquía del sitio Web. No obstante, quizás desee utilizar varios archivos o proveedores de mapas de sitio para describir la estructura de exploración de un sitio Web completo.

Para configurar varios mapas de un único sitio, comience con un mapa del sitio en la raíz de la aplicación. A continuación, configure el proveedor raíz como el proveedor del mapa del sitio predeterminado en el archivo Web.config. Después, establezca vínculos a los mapas secundarios del sitio; para ello, cree referencias a estos mapas en un objeto SiteMapNode, como en los dos ejemplos siguientes.

Para establecer vínculos a un archivo de mapa de sitio secundario desde un mapa de sitio principal

  • En el mapa del sitio principal, cree un objeto SiteMapNode en el lugar de la estructura de exploración en el que desea que aparezca el mapa del sitio secundario. Por ejemplo, si está utilizando el objeto XmlSiteMapProvider predeterminado, agregue el siguiente objeto SiteMapNode en el lugar apropiado del archivo Web.sitemap.

    <siteMapNode siteMapFile="MySiteMap.sitemap" />
    
    Nota:

    Cada atributo siteMapFile puede tomar una de las siguientes formas:

    • Una referencia relativa a la aplicación, como ~/MySiteMap.sitemap.

    • Una ruta de acceso virtual, como /Customers/MySiteMap.sitemap.

    • Una referencia a la ruta de acceso relativa a la ubicación del archivo del mapa del sitio actual, como Guests/MySiteMap.sitemap.

    Para obtener más información sobre cómo crear un archivo de mapa de sitio, vea Mapas de sitio de ASP.NET.

Para establecer vínculos con un proveedor de mapas de sitio personalizado desde un mapa de sitio principal

  1. En el mapa del sitio principal, cree un objeto SiteMapNode en el lugar de la estructura de exploración en el que desea que aparezca el mapa del sitio secundario. Por ejemplo, si utiliza el objeto XmlSiteMapProvider predeterminado, abra el archivo Web.sitemap y agregue el siguiente objeto SiteMapNode en el lugar apropiado de la jerarquía.

    <siteMapNode provider="SimpleTextSiteMapProvider" />
    
    Nota:

    El atributo provider se corresponde con el atributo name del proveedor en el archivo Web.config.

  2. El proveedor del mapa del sitio personalizado se debe agregar al archivo Web.config mediante la propiedad add. El código siguiente agrega el proveedor personalizado denominado SimpleTextSiteMapProvider, pero mantiene XmlSiteMapProvider como proveedor del mapa del sitio predeterminado.

    <configuration>
      <!-- other configuration sections -->
      <system.web>
        <!-- other configuration sections -->
        <siteMap defaultProvider="XmlSiteMapProvider">
          <providers>
            <add
              name="SimpleTextSiteMapProvider"
          type="Samples.AspNet.SimpleTextSiteMapProvider,Samples.AspNet"
              siteMapFile = "siteMap.txt" />
          </providers>
        </siteMap>
      </system.web>
    </configuration>
    

    Para obtener más información sobre cómo se crea un proveedor de mapas de sitio personalizado, vea Implementar proveedores de mapas de sitio de ASP.NET.

Configurar varios mapas de sitio en el archivo Web.config

Si establece vínculos a varios mapas del sitio conjuntamente, como en los dos ejemplos anteriores, podrá generar una única estructura de mapas de sitio a partir de muchos elementos. O bien, puede agregar referencias a diferentes mapas del sitio en el archivo Web.config y, de este modo, hacer que aparezcan como proveedores diferentes. Esto es conveniente cuando distintas áreas del sitio Web necesitan estructuras de exploración diferentes.

Para configurar varios mapas de sitio en el archivo Web.config

  • En el archivo Web.config, busque la sección <siteMap>. Si no existe, utilice el código siguiente. En caso contrario, incluya simplemente las secciones <add>.

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

    Suponga que los archivos ~/Company1/Company1.sitemap y ~/Company2/Company2.sitemap ya existen; ahora podrá utilizarlos con los miembros de la API de desplazamiento y con los controles de exploración, como SiteMapPath, TreeView y Menu, al establecer la propiedad SiteMapProvider correspondiente en Company1SiteMap o Company2SiteMap.

    Para obtener más información sobre cómo agregar controles de exploración a una página Web, vea Cómo: Agregar la función de exploración a sitios sencillos.

Vea también

Tareas

Cómo: Agregar la función de exploración a sitios sencillos

Conceptos

Mapas de sitio de ASP.NET

Proveedores de exploración del sitio de ASP.NET

Reducción de seguridad del mapa del sitio de ASP.NET

Implementar proveedores de mapas de sitio de ASP.NET

Proteger la exploración del sitio de ASP.NET

Proteger el acceso a datos

Otros recursos

Seguridad de aplicaciones ASP.NET en entornos alojados en host