Partager via


Vue d'ensemble de la navigation de site ASP.NET

Mise à jour : novembre 2007

Vous pouvez utiliser les fonctionnalités de navigation de site ASP.NET pour permettre aux utilisateurs de naviguer de manière cohérente dans votre site. À mesure que votre site se développe et vous déplacez des pages dans le site, il peut devenir difficile de gérer tous les liens. La navigation de site ASP.NET vous permet de stocker les liens vers toutes vos pages dans un emplacement central et de restituer ces liens dans des listes ou des menus de navigation sur chaque page en incluant un contrôle serveur Web spécifique.

Pour créer une solution de navigation cohérente et facile à gérer pour votre site, vous pouvez utiliser la navigation de site ASP.NET. Elle offre les fonctionnalités suivantes :

  • **Plans de sites   **Vous pouvez utiliser un plan de site pour décrire la structure logique de votre site. Vous pouvez gérer ensuite la navigation de page en modifiant le plan de site à mesure que des pages sont ajoutées ou supprimées, au lieu de modifier les liens hypertexte de toutes vos pages Web.

  • **Contrôles ASP.NET   **Vous pouvez utiliser les contrôles ASP.NET pour afficher des menus de navigation sur vos pages Web. Les menus de navigation sont basés sur le plan de site.

  • **Contrôle par programmation   **Vous pouvez utiliser la navigation de site ASP.NET dans le code pour créer des contrôles de navigation personnalisés ou pour modifier l'emplacement des informations affichées dans un menu de navigation.

  • **Règles d'accès   **Vous pouvez configurer des règles d'accès qui affichent ou masquent un lien dans votre menu de navigation.

  • **Fournisseurs sitemap personnalisés   **Vous pouvez créer des fournisseurs sitemap personnalisés qui vous permettent d'utiliser votre propre plan de site principal (par exemple, une base de données où vous stockez des informations sur les liens) et de connecter votre fournisseur au système de navigation de site ASP.NET.

Utilisation de la navigation de site

Avec la navigation de site ASP.NET, vous décrivez la disposition de votre site comme une hiérarchie. Par exemple, le site d'un magasin d'informatique en ligne fictif peut être composé de huit pages qui sont présentées de la manière suivante.

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

Pour utiliser la navigation de site, commencez par créer un plan de site ou une représentation de votre site. Vous pouvez décrire la hiérarchie de votre site dans un fichier XML, mais d'autres options sont également disponibles. Pour plus d'informations et un exemple, consultez Plans de sites ASP.NET.

Une fois le plan de site créé, vous pouvez afficher la structure de navigation sur une page ASP.NET en utilisant un contrôle de navigation de site. Pour obtenir un exemple, consultez Comment : ajouter la navigation de site simple.

Processus de chargement de plan de site

Le fournisseur sitemap ASP.NET par défaut charge les données sitemap sous forme de document XML qu'il met en cache en tant que données statiques lorsque l'application démarre. Un fichier sitemap très volumineux peut utiliser une grande quantité de mémoire et de puissance de l'unité centrale au moment du chargement. Les fonctionnalités de navigation de site ASP.NET se basent sur les notifications de fichier pour mettre à jour les données de navigation. Lorsqu'un fichier sitemap est modifié, ASP.NET recharge les données sitemap. Assurez-vous que vous avez configuré les logiciels d'analyse de virus afin qu'ils ne modifient pas les fichiers sitemap. Pour plus d'informations, consultez Sécurisation de la navigation de site ASP.NET.

Contrôles de navigation de site

La création d'un plan de site qui reflète la structure de votre site est une partie du système de navigation de site ASP.NET. L'autre partie consiste à afficher votre structure de navigation dans vos pages Web ASP.NET afin que les utilisateurs puissent se déplacer facilement dans votre site. Vous pouvez créer facilement la navigation dans vos pages en utilisant les contrôles de navigation de site ASP.NET suivants :

  • SiteMapPath   Ce contrôle affiche un chemin de navigation, également appelé fil d'Ariane (breadcrumb) ou « sourcil » (eyebrow), qui indique l'emplacement de la page active à l'utilisateur et affiche des liens sous la forme d'un chemin de retour à la page d'accueil. Le contrôle fournit de nombreuses options pour personnaliser l'apparence des liens.

  • TreeView   Ce contrôle affiche une arborescence ou un menu que les utilisateurs peuvent parcourir pour accéder à différentes pages de votre site. Un nœud qui contient des nœuds enfants peut être développé ou réduit en cliquant dessus.

  • Menu   Ce contrôle affiche un menu extensible que les utilisateurs peuvent parcourir pour accéder à différentes pages de votre site. Un nœud qui contient des nœuds enfants est développé lorsque le curseur pointe sur le menu.

Si vous ajoutez un contrôle SiteMapPath à la page Training du magasin d'informatique en ligne dans l'exemple précédent, le contrôle SiteMapPath affiche les éléments suivants, où Home et Services sont restitués comme des liens hypertexte :

Home > Services > Training

Vous pouvez utiliser le contrôle SiteMapPath pour créer la navigation de site sans code et sans liaison de données explicite. Le contrôle peut lire et restituer automatiquement les informations sitemap. Toutefois, si nécessaire, vous pouvez personnaliser également le contrôle SiteMapPath à l'aide d'un code. Pour obtenir un exemple, consultez Comment : modifier par programme des nœuds sitemap dans la mémoire.

Le contrôle SiteMapPath permet aux utilisateurs de naviguer de la page actuelle vers les pages précédentes dans la hiérarchie de site. Toutefois, le contrôle SiteMapPath ne vous permet pas de naviguer de la page actuelle vers une page suivante dans la hiérarchie. Le contrôle SiteMapPath est utile dans les applications de groupe de discussion ou de forum électronique lorsque les utilisateurs souhaitent consulter le chemin d'accès à l'article qu'ils parcourent.

Avec les contrôles TreeView ou Menu, les utilisateurs peuvent ouvrir des nœuds et accéder directement à une page spécifique. Ces contrôles ne lisent pas directement le plan de site, contrairement au contrôle SiteMapPath. Vous devez ajouter un contrôle SiteMapDataSource à une page qui peut lire le plan de site. Vous liez ensuite le contrôle TreeView ou Menu au contrôle SiteMapDataSource, afin de restituer le plan de site sur la page. Le contrôle TreeView affiche les éléments suivants :

- Home

   - Services

      + Training

Remarque :

Une méthode d'affichage facile des contrôles SiteMapPath, TreeView ou Menu sur toutes les pages de votre site consiste à créer une page maître et à y ajouter les contrôles. Pour plus d'informations, consultez Vue d'ensemble des pages maîtres ASP.NET.

API de navigation de site

Vous pouvez utiliser des contrôles de navigation pour ajouter la navigation de site à vos pages avec peu ou pas de code, mais vous pouvez également utiliser par programme la navigation de site. Lorsque votre application Web s'exécute, ASP.NET expose un objet SiteMap qui reflète la structure sitemap. Tous les membres de l'objet SiteMap sont statiques. L'objet SiteMap, ensuite, expose une collection d'objets SiteMapNode qui contiennent des propriétés pour chaque nœud du plan. (Lorsque vous utilisez le contrôle SiteMapPath, celui-ci utilise les objets SiteMap et SiteMapNode pour restituer automatiquement les liens appropriés).

Vous pouvez utiliser les objets SiteMap, SiteMapNode et SiteMapProvider dans votre propre code pour parcourir la structure de plan de site ou créer un contrôle personnalisé pour l'affichage des données sitemap. Vous ne pouvez pas écrire au plan de site, mais vous pouvez modifier des nœuds sitemap dans l'instance de l'objet. Pour plus d'informations, consultez Comment : modifier par programme des nœuds sitemap dans la mémoire ou Comment : énumérer par programme des nœuds sitemap.

Relations entre les composants de navigation de site

L'illustration suivante présente les relations entre les composants de navigation de site ASP.NET.

Voir aussi

Tâches

Comment : énumérer par programme des nœuds sitemap

Concepts

Plans de sites ASP.NET

Sécurisation de la navigation de site ASP.NET

Sécurisation de l'accès aux données

Autres ressources

Sécurité des applications ASP.NET dans les environnements hébergés