Assembly : System.Web (dans system.web.dll)
SyntaxePublic NotInheritable Class SiteMap
Il est possible d'accéder aux membres d'une classe statique directement sans une instance de la classe.
public static class SiteMap
public ref class SiteMap abstract sealed
public final class SiteMap
public final class SiteMap
NotesLes plans de sites sont utilisés conjointement avec le SiteMapDataSource, SiteMapPath et d'autres contrôles pour restituer une interface de navigation efficace qui permet aux utilisateurs de naviguer au sein d'un site Web. Un objet SiteMap est un composant de l'infrastructure de navigation de site ASP.NET qui rend des informations de plan de site en lecture seule accessibles aux développeurs de contrôles et de pages, au moyen de contrôles de navigation et de contrôles SiteMapDataSource. D'autres composants de l'infrastructure de navigation de site ASP.NET incluent les classes SiteMapProvider et XmlSiteMapProvider, le fichier Web.sitemap et plusieurs contrôles qui fonctionnent avec la classe SiteMap, notamment le contrôle SiteMapPath, qui permettent de restituer un contenu et des menus.
Le SiteMap a plusieurs fonctions :
-
Il fournit le n?ud racine de la hiérarchie de navigation de site (il peut y avoir uniquement un n?ud racine).
-
Il identifie le fournisseur de plan de site principal (par défaut).
-
Il suit tous les objets de fournisseur qui sont utilisés pour créer le SiteMap.
Fondamentalement, le SiteMap est un conteneur pour une collection hiérarchique d'objets SiteMapNode. Toutefois, le SiteMap ne gère pas les relations entre les n?uds ; au lieu de cela, il délègue cette tâche aux fournisseurs de plan de site. SiteMap agit comme une interface avec les informations de navigation de site (sous la forme d'objets SiteMapNode) gérées par ces fournisseurs de plan de site. Il suit les fournisseurs à partir desquels il peut accéder à des données de navigation de site et expose sa collection Providers. Un fournisseur peut stocker ses informations de plan de site de n'importe quelle manière ; tant qu'il étend la classe abstraite SiteMapProvider, l'initialisation de la classe SiteMap est possible depuis celle-ci.
Le fournisseur par défaut pour la classe SiteMap est la classe XmlSiteMapProvider qui fonctionne avec un fichier de configuration XML, Web.sitemap. Toutefois, vous pouvez écrire votre propre objet SiteMapProvider et l'utiliser pour initialiser le plan de site de votre site. Pour obtenir un exemple de la création d'un fournisseur de plan de site personnalisé, consultez SiteMapProvider.
Une configuration de plan de site par défaut est spécifiée ; elle gère la configuration de la navigation de site. Vous pouvez substituer cette configuration dans le fichier Web.config, si vous devez choisir d'écrire votre propre fournisseur de plan de site.
La classe SiteMap propose uniquement des membres statiques pour des questions de performances. Elle est accessible à tout moment sur un site donné à partir d'un contrôle Web Form ou serveur Web.
| Topic | Location |
|---|---|
| Comment : afficher des données sitemap dans des contrôles serveur Web non hiérarchiques | Génération d'applications Web ASP.NET |
| Comment : ajouter la navigation de site simple | Génération d'applications Web ASP.NET |
| Comment : configurer plusieurs plans de sites et fournisseurs sitemap | Génération d'applications Web ASP.NET |
| Comment : énumérer par programme des n?uds sitemap | Génération d'applications Web ASP.NET |
| Comment : filtrer les n?uds récupérés par les contrôles serveur Web SiteMapDataSource | Génération d'applications Web ASP.NET |
| Comment : implémenter des fournisseurs sitemap ASP.NET | Génération d'applications Web ASP.NET |
ExempleCette section comprend deux exemples de code. Le premier exemple de code montre comment déclarer un fournisseur de plan de site dans un fichier Web.config. Le deuxième exemple de code montre comment utiliser un objet SiteMap.
L'exemple de code suivant consiste en une section du fichier de configuration Web.config. Elle montre comment un objet XmlSiteMapProvider est déclaré en tant qu'objet SiteMapProvider par défaut.
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
<providers>
<add name="MyXmlSiteMapProvider"
description="The site map provider that reads in the .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="my.sitemap" />
</providers>
</siteMap>L'exemple de code suivant montre comment utiliser l'objet SiteMap en accédant à ses membres statiques pour afficher des informations relatives aux propriétés RootNode et CurrentNode. Comparez-le à la sortie restituée par le contrôle SiteMapPath.
<%@ Page language="VB"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <Script RUNAT="server"> Private Sub Page_Load(sender As Object, e As System.EventArgs) ' Examine the CurrentNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.CurrentNode.Title & "<BR>") Response.Write("<FONT COLOR='red'>" & SiteMap.CurrentNode.Url & "</FONT><BR>") ' What nodes are children of the CurrentNode? If (SiteMap.CurrentNode.HasChildNodes) Then Dim childNodesEnumerator As IEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator() While (childNodesEnumerator.MoveNext()) ' Prints the Title of each node. Response.Write(childNodesEnumerator.Current.ToString() & "<BR>") End While End If Response.Write("<HR>") ' Examine the RootNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.RootNode.Title & "<BR>") Response.Write(SiteMap.RootNode.Url & "<BR>") ' What nodes are children of the RootNode? If (SiteMap.RootNode.HasChildNodes) Then Dim rootNodesChildrenEnumerator As IEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator() While (rootNodesChildrenEnumerator.MoveNext()) ' Prints the Title of each node. Response.Write(rootNodesChildrenEnumerator.Current.ToString() & "<BR>") End While End If End Sub ' Page_Load </Script> <HTML> <body> <form id="Form1" runat="server"> <asp:SiteMapPath runat="server" ID="SiteMapPath1" ShowToolTips="false"/> </form> </body> </HTML>
<%@ Page language="c#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <Script RUNAT="server"> private void Page_Load(object sender, System.EventArgs e) { // Examine the CurrentNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.CurrentNode.Title + "<BR>"); Response.Write("<FONT COLOR='red'>" + SiteMap.CurrentNode.Url + "</FONT><BR>"); // What nodes are children of the CurrentNode? if (SiteMap.CurrentNode.HasChildNodes) { IEnumerator childNodesEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator(); while (childNodesEnumerator.MoveNext()) { // Prints the Title of each node. Response.Write(childNodesEnumerator.Current.ToString() + "<BR>"); } } Response.Write("<HR>"); // Examine the RootNode, and navigate the SiteMap relative to it. Response.Write(SiteMap.RootNode.Title + "<BR>"); Response.Write(SiteMap.RootNode.Url + "<BR>"); // What nodes are children of the RootNode? if (SiteMap.RootNode.HasChildNodes) { IEnumerator rootNodesChildrenEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator(); while (rootNodesChildrenEnumerator.MoveNext()) { // Prints the Title of each node. Response.Write(rootNodesChildrenEnumerator.Current.ToString() + "<BR>"); } } } </Script> <HTML> <body> <form id="Form1" runat="server"> <asp:SiteMapPath runat="server" ID="SiteMapPath1" ShowToolTips="false"/> </form> </body> </HTML>
Sécurité .NET Framework- AspNetHostingPermission pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal.
- AspNetHostingPermission pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal.
Plates-formesWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ