Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase SiteMap

 

Publicado: octubre de 2016

La SiteMap clase es una representación en memoria de la estructura de navegación de un sitio, proporcionada por uno o varios proveedores del mapa del sitio. Esta clase no puede heredarse.

Espacio de nombres:   System.Web
Ensamblado:  System.Web (en System.Web.dll)

System.Object
  System.Web.SiteMap

public static class SiteMap

NombreDescripción
System_CAPS_pubpropertySystem_CAPS_staticCurrentNode

Obtiene un SiteMapNode control que representa la página solicitada actualmente.

System_CAPS_pubpropertySystem_CAPS_staticEnabled

Obtiene un valor booleano que indica si se especifica un proveedor de mapas de sitio en el archivo Web.config y si está habilitado el proveedor del mapa del sitio.

System_CAPS_pubpropertySystem_CAPS_staticProvider

Obtiene el valor predeterminado SiteMapProvider objeto para el mapa del sitio actual.

System_CAPS_pubpropertySystem_CAPS_staticProviders

Obtiene una colección de solo lectura denominada SiteMapProvider objetos que están disponibles para la SiteMap clase.

System_CAPS_pubpropertySystem_CAPS_staticRootNode

Obtiene un SiteMapNode objeto que representa la página de nivel superior de la estructura de navegación del sitio.

NombreDescripción
System_CAPS_pubeventSystem_CAPS_staticSiteMapResolve

Se produce cuando el CurrentNode acceso a la propiedad.

Mapas de sitio se utilizan junto con la SiteMapDataSource, SiteMapPath, y otros controles para representar una interfaz de navegación eficaz para que los usuarios explorar un sitio Web. Un SiteMap objeto es un componente de la infraestructura de navegación del sitio ASP.NET que proporciona acceso a información de mapa de sitio de sólo lectura para los desarrolladores de página y control de navegación y SiteMapDataSource controles. Otros componentes de la infraestructura de navegación del sitio ASP.NET incluyen los SiteMapProvider y XmlSiteMapProvider clases, el archivo Web.sitemap y los distintos controles que funcionan con el SiteMap de clase, como el SiteMapPath control para representar el contenido y los menús.

El SiteMap tiene varias funciones:

  • Proporciona el nodo raíz de la jerarquía de navegación del sitio (puede haber solo un nodo raíz).

  • Identifica qué proveedor del mapa del sitio es el proveedor principal o predeterminado.

  • Realiza el seguimiento de todos los objetos de proveedor que se usan para crear la SiteMap.

Básicamente, el SiteMap es un contenedor para una colección jerárquica de SiteMapNode objetos. Sin embargo, los SiteMap no mantiene las relaciones entre los nodos; en su lugar, delega esta tarea a los proveedores del mapa del sitio. El SiteMap actúa como interfaz para la información de navegación del sitio (en forma de SiteMapNode objetos) que se mantiene por estos proveedores del mapa del sitio. Realiza el seguimiento de los proveedores desde el que pueden tener acceso a datos de navegación del sitio y expone su Providers colección. Un proveedor puede almacenar su información de mapa de sitio de cualquier manera: siempre que extiende el SiteMapProvider abstracta (clase), el SiteMap clase puede inicializarse correctamente de él.

El proveedor predeterminado para la SiteMap clase es el XmlSiteMapProvider clase, que funciona con un archivo de configuración XML, Web.sitemap. Sin embargo, puede escribir su propio SiteMapProvider objeto y usarlo para inicializar el mapa del sitio para el sitio. Para obtener un ejemplo de un proveedor de mapas de sitio personalizado, vea SiteMapProvider.

Se especifica una configuración de mapa del sitio predeterminada que administra la configuración de navegación del sitio. Puede invalidar esta configuración en el archivo Web.config, si opta por escribir su propio proveedor de mapas de sitio.

La SiteMap clase sólo proporciona miembros estáticos para el rendimiento y puede tener acceso en cualquier momento en un sitio determinado desde un formulario Web Forms o un control de servidor Web.

Esta sección contiene dos ejemplos de código. El primer ejemplo de código muestra cómo declarar un proveedor de mapas de sitio en un archivo Web.config. El segundo ejemplo de código muestra cómo utilizar un SiteMap objeto.

El ejemplo de código siguiente es una sección de configuración de Web.config se muestra cómo un XmlSiteMapProvider objeto se declara como el valor predeterminado SiteMapProvider objeto.

<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
  <providers>
    <add name="MyXmlSiteMapProvider"
      description="The site map provider that reads in the .sitemap XML files."
      type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
      siteMapFile="my.sitemap" />
  </providers>
</siteMap>

En el ejemplo de código siguiente se muestra cómo utilizar el SiteMap objeto mediante el acceso a sus miembros estáticos para mostrar información sobre la RootNode y CurrentNode Propiedades. Comparar a la salida que representa el SiteMapPath control.

<%@ Page language="c#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Examine the CurrentNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.CurrentNode.Title + "<br />");
    Response.Write("<font COLOR='red'>" + SiteMap.CurrentNode.Url + "</font><br />");

    // What nodes are children of the CurrentNode?
    if (SiteMap.CurrentNode.HasChildNodes) {
        IEnumerator childNodesEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator();
        while (childNodesEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(childNodesEnumerator.Current.ToString() + "<br />");
        }
    }
    Response.Write("<hr />");

    // Examine the RootNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.RootNode.Title + "<br />");
    Response.Write(SiteMap.RootNode.Url + "<br />");

    // What nodes are children of the RootNode?
    if (SiteMap.RootNode.HasChildNodes) {
        IEnumerator rootNodesChildrenEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator();
        while (rootNodesChildrenEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(rootNodesChildrenEnumerator.Current.ToString() + "<br />");
        }
    }

}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" runat="server">
      <asp:SiteMapPath
          runat="server"
        ID="SiteMapPath1"
        ShowToolTips="false"/>
    </form>
  </body>
</html>

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: