Información general sobre la exploración del sitio de ASP.NET

Actualización: noviembre 2007

Puede utilizar las características de exploración del sitio de ASP.NET con el fin de proporcionar una manera coherente a los usuarios para que exploren el sitio. Cuando un sitio crece y cuando se mueven sus páginas, puede resultar complicado administrar todos los vínculos. La exploración del sitio de ASP.NET permite almacenar los vínculos de todas las páginas en una ubicación central y representar estos vínculos en listas o menús de desplazamiento en cada página incluyendo un control de servidor Web específico.

Con la exploración del sitio de ASP.NET, puede crear una solución de exploración consistente y fácil de administrar para el sitio. La exploración del sitio de ASP.NET cuenta con las características siguientes:

  • Mapas del sitio Puede utilizar un mapa del sitio para describir la estructura lógica de su sitio. A continuación, puede administrar la exploración de la página modificando el mapa del sitio cuando se agregan o se eliminan páginas en lugar de modificar los hipervínculos en todas las páginas Web.

  • **Controles ASP.NET   **Puede utilizar estos controles para mostrar los menús de exploración en las páginas Web. Los menús de exploración se basan en el mapa del sitio.

  • Control de programación Puede utilizar la exploración del sitio de ASP.NET en el código para crear controles de exploración personalizados o modificar la ubicación de la información que se muestra en un menú de desplazamiento.

  • Reglas de acceso Puede configurar reglas de acceso que muestren u oculten un vínculo en el menú de desplazamiento.

  • Proveedores de mapas de sitio personalizados Puede crear proveedores de mapas de sitio personalizados que le permitan trabajar con su propio servidor del mapa del sitio (por ejemplo, una base de datos donde almacene la información de los vínculos) y conectar su proveedor al sistema de exploración del sitio de ASP.NET.

Cómo funciona la exploración del sitio

Con la exploración del sitio de ASP.NET, puede describir el diseño del sitio como una jerarquía. Por ejemplo, un almacén ficticio de un equipo en línea podría tener un sitio compuesto por ocho páginas diseñadas de la manera siguiente:

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

Para utilizar la exploración del sitio, empiece creando un mapa o una representación del sitio. Puede describir la jerarquía del sitio en un archivo XML, aunque también existen otras opciones. Para obtener más información y un ejemplo, vea Mapas de sitio de ASP.NET.

Después de crear un mapa del sitio, puede mostrar la estructura de exploración en una página ASP.NET utilizando un control de exploración del sitio. Para consultar un ejemplo, vea Cómo: Agregar la función de exploración a sitios sencillos.

Proceso de carga del mapa del sitio

El proveedor de mapas de sitio de ASP.NET predeterminado carga los datos del mapa del sitio como un documento XML y lo almacena en caché como datos estáticos cuando la aplicación se inicia. Un archivo de mapa del sitio excesivamente grande puede utilizar mucha memoria y recursos de la CPU durante la carga. Las características de exploración del sitio de ASP.NET dependen de las notificaciones del archivo para mantener los datos de desplazamiento actualizados. Cuando se modifica un archivo de mapa del sitio, ASP.NET vuelve a cargar los datos del mapa del sitio. Asegúrese de que configura el software de detección de virus para que no modifique los archivos de mapa del sitio. Para obtener más información, vea Proteger la exploración del sitio de ASP.NET.

Controles de exploración del sitio

Crear un mapa del sitio que refleje la estructura del sitio es una parte del sistema de exploración del sitio de ASP.NET. La otra parte es mostrar la estructura de exploración en las páginas Web ASP.NET para que los usuarios puedan desplazarse por el sitio con facilidad. Puede establecer la exploración en sus páginas de forma sencilla utilizando los siguientes controles de desplazamiento del sitio de ASP.NET:

  • SiteMapPath   Este control muestra una ruta de desplazamiento que indica al usuario la ubicación de la página actual y muestra los vínculos como una ruta de retorno a la página principal. El control proporciona muchas opciones para personalizar el aspecto de los vínculos.

  • TreeView   Este control muestra una estructura de árbol, o de menú, que los usuarios pueden recorrer para llegar a diferentes páginas del sitio. Se puede expandir o contraer un nodo que contenga nodos secundarios haciendo clic en él.

  • Menu   Este control muestra un menú expansible que los usuarios pueden recorrer para llegar a diferentes páginas del sitio. Un nodo que contenga nodos secundarios se expandirá cuando el cursor se sitúe sobre el menú.

Si agrega un control SiteMapPath a la página Training desde el almacén del equipo en línea del ejemplo anterior, el control SiteMapPath mostrará algo parecido a lo siguiente, donde Home y Services se representarán como hipervínculos:

Home > Services > Training

Puede utilizar el control SiteMapPath para crear la exploración del sitio sin código y sin enlaces de datos explícitos. El control puede leer y representar la información del mapa del sitio automáticamente. Sin embargo, si es necesario, también puede personalizar el control SiteMapPath mediante código. Para consultar un ejemplo, vea Cómo: Modificar los nodos de mapa de sitio en memoria mediante programación.

El control SiteMapPath permite a los usuarios desplazarse hacia atrás desde la página actual a las páginas superiores en la jerarquía del sitio. Sin embargo, el control SiteMapPath no le permite desplazarse hacia delante desde la página actual a otra página más profunda en la jerarquía. El control SiteMapPath es útil para las aplicaciones de grupos de noticias o mensajería cuando los usuarios desean ver la ruta de acceso al artículo que están explorando.

Con los controles TreeView o Menu, los usuarios pueden abrir los nodos y desplazarse directamente a una página determinada. Estos controles no leen el mapa del sitio directamente, puesto que ya lo hace el control SiteMapPath. En su lugar, puede agregar un control SiteMapDataSource a una página que pueda leer el mapa del sitio. A continuación, puede enlazar el control TreeView o Menu al control SiteMapDataSource, lo que hace que el mapa del sitio se represente en la página. El control TreeView mostrará algo parecido a lo siguiente:

- Inicio

   - Servicios

      + Training

Nota:

Una manera fácil de mostrar los controles SiteMapPath, TreeView o Menu en todas las páginas del sitio es crear una página principal y agregar los controles a esa página. Para obtener más información, vea Información general sobre las páginas principales ASP.NET.

API de exploración del sitio

Puede utilizar los controles de exploración para agregar la función de exploración del sitio a sus páginas sin apenas escribir código o sin escribir código alguno, aunque también puede trabajar con la función de exploración del sitio mediante programación. Cuando la aplicación Web se ejecuta, ASP.NET expone un objeto SiteMap que refleja la estructura del mapa del sitio. Todos los miembros del objeto SiteMap son estáticos. El objeto SiteMap, a su vez, expone una colección de objetos SiteMapNode que contienen las propiedades de cada nodo del mapa. (Cuando utiliza el control SiteMapPath, este control trabaja con los objetos SiteMap y SiteMapNode para representar los vínculos adecuados automáticamente.)

Puede utilizar los objetos SiteMap, SiteMapNode y SiteMapProvider en su propio código para recorrer la estructura del mapa del sitio o crear un control personalizado para mostrar los datos del mapa del sitio. No puede escribir en el mapa del sitio, pero puede modificar sus nodos en la instancia del objeto. Para obtener más información, vea Cómo: Modificar los nodos de mapa de sitio en memoria mediante programación o Cómo: Enumerar los nodos del mapa del sitio mediante programación.

Relaciones entre componentes de exploración del sitio

En la ilustración siguiente se muestran las relaciones que existen entre los componentes de exploración del sitio de ASP.NET.

Vea también

Tareas

Cómo: Enumerar los nodos del mapa del sitio mediante programación

Conceptos

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