ASP.NET 2.0 - Navigation (Navigation)

ASP.NET 2.0 possède des contrôles de navigation intégrés.

Navigation sur le site

Il est difficile et chronophage de maintenir un menu de navigation pour un grand site.

Dans ASP.NET 2.0, les menus peuvent être stockés dans un fichier, ce qui rend leur maintenance plus facile. Ce fichier est généralement nommé web.sitemapsitués dans le répertoire racine du site.

En plus, ASP.NET 2.0 possède trois nouveaux contrôles de navigation :

  • Menus dynamiques
  • TreeViews
  • Chemin de la carte du site

Fichier sitemap

Ce tutoriel utilise le fichier sitemap suivant (carte du site) :

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Accueil" url="/aspnet/w3home.aspx">
  <siteMapNode title="Services" url="/aspnet/w3services.aspx">
    <siteMapNode title="Formation" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

Règles pour créer un fichier sitemap :

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

Remarque :Le fichier sitemap doit être stocké dans le répertoire racine du site, l'attribut URL doit être relatif à ce répertoire racine.

Menu dynamique

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

Exemple de code :

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

Dans l'exemple précédent <asp:Menu> ContrôleC'est un placeholder pour créer un menu de navigation sur le serveur.

Le contrôleur de données du contrôle est Propriété DataSourceIdpour définir.id="nav1" Le connecter à Contrôle <asp:SiteMapDataSource>.

Contrôle <asp:SiteMapDataSource>connectera automatiquement au fichier sitemap par défaut (web.sitemap)。

Cliquez ici pour voir le DEMO de Menu.

TreeView

Le contrôle <asp:TreeView> peut afficher un menu de navigation multisélection.

Ce menu ressemble à un arbre avec des branches, qu'il est possible d'ouvrir ou de fermer avec les 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 Contrôle <asp:TreeView>C'est un placeholder pour créer un menu de navigation sur le serveur.

Le contrôleur de données du contrôle est Propriété DataSourceIdpour définir.id="nav1" Le connecter à Contrôle <asp:SiteMapDataSource>.

Contrôle <asp:SiteMapDataSource>connectera automatiquement au fichier sitemap par défaut (web.sitemap)。

Cliquez ici pour voir le DEMO de TreeView.

SiteMapPath

Le contrôle SiteMapPath peut afficher un pointeur vers la page actuelle (chemin de navigation). Ce chemin s'affiche sous forme de liens cliquables vers les pages parentes.

Différent des contrôles TreeView et Menu, le contrôle SiteMapPathNe pas utiliser SiteMapDataSource. Le contrôle SiteMapPath utilise par défaut le fichier web.sitemap.

Astuce :Si SiteMapPath n'est pas affiché correctement, cela pourrait être dû à des erreurs d'URL dans le fichier web.sitemap.

Exemple de code :

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

Dans l'exemple ci-dessus Contrôle <asp:SiteMapPath>C'est un placeholder pour créer un menu de navigation sur le serveur.

Cliquez ici pour voir le DEMO de SiteMapPath.