ASP.NET Web Forms - Navigation


ASP.NET dispose de contrôles de navigation intégrés.


Navigation du site Web

La maintenance des menus pour les grands sites Web est difficile et chronophage.

Dans ASP.NET, les menus peuvent être stockés dans des fichiers, ce qui les rend faciles à maintenir. Le fichier est généralement nomméweb.sitemap, et est placé dans le répertoire racine du site Web.

De plus, ASP.NET dispose de trois nouveaux contrôles de navigation :

  • Menus dynamiques
  • Arborescences
  • Chemin du plan de site

Fichiers de plan de site

Dans ce didacticiel, le fichier de plan de site suivant est utilisé :

<?xml version="1.0" encoding="ISO-8859-1" ?>
<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>

Règles de création d'un fichier sitemap :

  • Le fichier XML doit contenir une balise <siteMap> entourant le contenu.
  • La balise <siteMap> ne peut avoir qu'un seul nœud enfant <siteMapNode> (la page d'accueil).
  • Chaque <siteMapNode> peut avoir plusieurs nœuds enfants (pages web).
  • Chaque <siteMapNode> possède des attributs qui définissent le titre et l'URL de la page.

lampRemarque :Le fichier sitemap doit être situé dans le répertoire racine du site, et les attributs URL doivent être relatifs à ce répertoire racine.


Menus dynamiques

Le contrôle <asp:Menu> peut afficher un menu de navigation standard du site.

Exemple de code :

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

Dans l'exemple ci-dessus, le<asp:Menu>contrôle est un espace réservé pour que le serveur crée un menu de navigation.

La source de données du contrôle est définie par l'attributDataSourceId.id="nav1"Connectez la source de données au<asp:SiteMapDataSource>contrôle.

<asp:SiteMapDataSource>Le contrôle se connecte automatiquement au fichier sitemap par défaut (web.sitemap)。


TreeView

Le contrôle <asp:TreeView> peut afficher des menus de navigation à plusieurs niveaux.

Ce type de menu ressemble à un arbre avec des branches et des feuilles, et peut être ouvert ou fermé à l'aide des symboles + ou -.

Exemple de code :

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

Dans l'exemple ci-dessus, le<asp:TreeView>contrôle est un espace réservé pour que le serveur crée un menu de navigation.

La source de données du contrôle est définie par l'attributDataSourceId.id="nav1"Connectez la source de données au<asp:SiteMapDataSource>contrôle.

<asp:SiteMapDataSource>Le contrôle se connecte automatiquement au fichier sitemap par défaut (web.sitemap)。


SiteMapPath

Le contrôle SiteMapPath peut afficher un pointeur (chemin de navigation) vers la page actuelle. Le chemin est affiché sous forme de liens cliquables pointant vers les pages parentes.

Contrairement aux contrôles TreeView et Menu, le contrôle SiteMapPathn'utilise pasSiteMapDataSource. Le contrôle SiteMapPath utilise le fichier web.sitemap par défaut.

lampAstuce : si SiteMapPath ne s'affiche pas correctement, cela peut être dû à des erreurs d'URL (fautes de frappe) dans le fichier web.sitemap.

Exemple de code :

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

Dans l'exemple ci-dessus, le contrôle<asp:SiteMapPath>est un espace réservé pour que le serveur crée un menu de navigation.

Autres extensions