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é :
<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.
Remarque :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 :
<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 :
<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.
Astuce : 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 :
<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