ASP.NET Web Forms - Navegación
ASP.NET tiene controles de navegación integrados.
Navegación del sitio
Mantener los menús de sitios web grandes es difícil y requiere mucho tiempo.
En ASP.NET, los menús se pueden almacenar en archivos, lo que facilita su mantenimiento. El archivo suele llamarseweb.sitemap, y se almacena en el directorio raíz del sitio web.
Además, ASP.NET tiene tres controles de navegación nuevos:
- Dynamic menus
- TreeViews
- Site Map Path
Archivo Sitemap
En este tutorial, se utiliza el siguiente archivo sitemap:
<siteMap>
<siteMapNode title="Home" url="/aspnet/w3home.aspx">
<siteMapNode title="Services" url="/aspnet/w3services.aspx">
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
Reglas para crear el archivo sitemap:
- El archivo XML debe contener etiquetas <siteMap> alrededor del contenido.
- La etiqueta <siteMap> solo puede tener un nodo hijo <siteMapNode> (la página "home").
- Cada <siteMapNode> puede tener múltiples nodos hijos (páginas web).
- Cada <siteMapNode> tiene atributos que definen el título de la página y la URL.
Notas:El archivo sitemap debe ubicarse en el directorio raíz del sitio, y los atributos URL deben ser relativos a ese directorio raíz.
Menú dinámico
El control <asp:Menu> puede mostrar un menú de navegación estándar del sitio.
Ejemplo de código:
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>
En el ejemplo anterior, el<asp:Menu>control es un marcador de posición para que el servidor cree un menú de navegación.
La fuente de datos del control se define mediante elDataSourceIdatributo.id="nav1"Conecte la fuente de datos al<asp:SiteMapDataSource>control.
<asp:SiteMapDataSource>El control se conecta automáticamente al archivo sitemap predeterminado (web.sitemap)。
TreeView
El control <asp:TreeView> puede mostrar un menú de navegación de varios niveles.
Este menú se ve como un árbol con ramas y hojas, y se puede abrir o cerrar con los símbolos + o -.
Ejemplo de código:
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>
En el ejemplo anterior, el<asp:TreeView>control es un marcador de posición para que el servidor cree un menú de navegación.
La fuente de datos del control se define mediante elDataSourceIdatributo.id="nav1"Conecte la fuente de datos al<asp:SiteMapDataSource>control.
<asp:SiteMapDataSource>El control se conecta automáticamente al archivo sitemap predeterminado (web.sitemap)。
SiteMapPath
El control SiteMapPath puede mostrar un puntero a la página actual (ruta de navegación). Esta ruta se muestra como enlaces en los que se puede hacer clic que apuntan a las páginas principales.
A diferencia de los controles TreeView y Menu, el control SiteMapPathno usaSiteMapDataSource. El control SiteMapPath utiliza el archivo web.sitemap de forma predeterminada.
Consejo: Si SiteMapPath no se muestra correctamente, probablemente se deba a un error de URL (error tipográfico) en el archivo web.sitemap.
Ejemplo de código:
<asp:SiteMapPath runat="server" />
</form>
En el ejemplo anterior, el<asp:SiteMapPath>control es un marcador de posición para que el servidor cree un menú de navegación.
Otras extensiones