SiteMap Classe

Définition

La classe SiteMap est une représentation en mémoire de la structure de navigation d'un site, fournie par un ou plusieurs fournisseurs de plan de site.The SiteMap class is an in-memory representation of the navigation structure for a site, which is provided by one or more site map providers. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
Héritage
SiteMap

Exemples

Cette section contient deux exemples de code.This section contains two code examples. Le premier exemple de code montre comment déclarer un fournisseur de plan de site dans un fichier Web. config.The first code example demonstrates how to declare a site map provider in a Web.config file. Le deuxième exemple de code montre comment utiliser un SiteMap objet.The second code example demonstrates how to use a SiteMap object.

L’exemple de code suivant est une section de configuration Web. config qui montre XmlSiteMapProvider comment un objet est déclaré en SiteMapProvider tant qu’objet par défaut.The following code example is a Web.config configuration section that demonstrates how an XmlSiteMapProvider object is declared as the default SiteMapProvider object.

<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' SiteMap objet en accédant à ses membres statiques pour afficher des RootNode informations CurrentNode sur les propriétés et.The following code example demonstrates how to use the SiteMap object by accessing its static members to display information about the RootNode and CurrentNode properties. Comparez-le à la sortie restituée par SiteMapPath le contrôle.Compare it to the output that is rendered by the SiteMapPath control.

<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" runat="server">
      <asp:SiteMapPath
          runat="server"
        ID="SiteMapPath1"
        ShowToolTips="false"/>
    </form>
  </body>
</html>
<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:SiteMapPath
            runat="server"
          ID="SiteMapPath1"
          ShowToolTips="false"/>

    </form>
  </body>
</html>

Remarques

Les plans de sites sont utilisés conjointement avec SiteMapDataSourceles SiteMapPathcontrôles, et pour afficher une interface de navigation efficace afin que les utilisateurs puissent naviguer sur un site Web.Site maps are used in conjunction with the SiteMapDataSource, SiteMapPath, and other controls to render an effective navigation interface for users to navigate a Web site. Un SiteMap objet est un composant de l’infrastructure de navigation de site ASP.net qui fournit l’accès aux informations de plan de site en lecture seule pour les développeurs SiteMapDataSource de contrôles et de pages utilisant la navigation et les contrôles.A SiteMap object is a component of the ASP.NET site navigation infrastructure that provides access to read-only site map information for page and control developers using navigation and SiteMapDataSource controls. Les autres composants de l’infrastructure de navigation de site SiteMapProvider ASP.NET XmlSiteMapProvider incluent les classes et, le fichier Web. sitemap et les différents contrôles qui fonctionnent SiteMap avec la classe, tels SiteMapPath que le contrôle, pour afficher le contenu et les menus.Other components of the ASP.NET site navigation infrastructure include the SiteMapProvider and XmlSiteMapProvider classes, the Web.sitemap file, and the various controls that work with the SiteMap class, such as the SiteMapPath control, to render content and menus.

Le SiteMap a plusieurs fonctions:The SiteMap has several functions:

  • Il fournit le nœud racine de la hiérarchie de navigation du site (il ne peut y avoir qu’un seul nœud racine).It provides the root node of the site navigation hierarchy (there can be only one root node).

  • Il identifie le fournisseur de plan de site qui est le principal ou le fournisseur par défaut.It identifies which site map provider is the principal, or default, provider.

  • Il effectue le suivi de tous les objets de fournisseur utilisés pour créer le SiteMap.It keeps track of all the provider objects that are used to create the SiteMap.

Fondamentalement, SiteMap est un conteneur pour une collection hiérarchique d' SiteMapNode objets.Fundamentally, the SiteMap is a container for a hierarchical collection of SiteMapNode objects. Toutefois, le SiteMap ne gère pas les relations entre les nœuds; il le délègue aux fournisseurs de plan de site.However, the SiteMap does not maintain the relationships between the nodes; rather, it delegates this to the site map providers. Le SiteMap agit comme une interface avec les informations de navigation du site (sous la SiteMapNode forme d’objets) détenues par ces fournisseurs de plan de site.The SiteMap acts as an interface to the site navigation information (in the form of SiteMapNode objects) that is held by these site map providers. Il effectue le suivi des fournisseurs à partir desquels il peut accéder aux données de navigation Providers de site et expose sa collection.It keeps track of the providers from which it can access site navigation data and exposes its Providers collection. Un fournisseur peut stocker ses informations de plan de site de quelque façon que ce soit, à SiteMapProvider condition qu’il étende la classe abstraite, la SiteMap classe puisse être initialisée avec succès.A provider can store its site map information in any way - as long as it extends the SiteMapProvider abstract class, the SiteMap class can be initialized successfully from it.

Le fournisseur par défaut de SiteMap la classe est XmlSiteMapProvider la classe, qui fonctionne avec un fichier de configuration XML, Web. sitemap.The default provider for the SiteMap class is the XmlSiteMapProvider class, which works with an XML configuration file, Web.sitemap. Toutefois, vous pouvez écrire votre propre SiteMapProvider objet et l’utiliser pour initialiser le plan de site de votre site.However, you can write your own SiteMapProvider object, and use it to initialize the site map for your site. Pour obtenir un exemple de fournisseur de plan de site personnalisé SiteMapProvider, consultez.For an example of a custom site map provider, see SiteMapProvider.

Une configuration de plan de site par défaut est spécifiée pour gérer la configuration de la navigation du site.A default site map configuration is specified that manages the site navigation configuration. Vous pouvez remplacer cette configuration dans le fichier Web. config, si vous choisissez d’écrire votre propre fournisseur de plan de site.You can override this configuration in the Web.config file, should you choose to write your own site map provider.

La SiteMap classe offre uniquement des membres statiques pour les performances et elle est accessible à tout moment dans un site donné à partir d’un formulaire Web ou d’un contrôle serveur Web.The SiteMap class offers only static members for performance and it can be accessed at any time in a given site from a Web Form or Web server control.

Propriétés

CurrentNode

Obtient un contrôle SiteMapNode qui représente la page actuellement demandée.Gets a SiteMapNode control that represents the currently requested page.

Enabled

Obtient une valeur Boolean qui indique si un fournisseur de plan de site est spécifié dans le fichier Web.config et si ce fournisseur est activé.Gets a Boolean value indicating if a site map provider is specified in the Web.config file and if the site map provider is enabled.

Provider

Obtient l'objet SiteMapProvider par défaut pour le plan de site actuel.Gets the default SiteMapProvider object for the current site map.

Providers

Obtient une collection en lecture seule d'objets SiteMapProvider nommés à la disposition de la classe SiteMap.Gets a read-only collection of named SiteMapProvider objects that are available to the SiteMap class.

RootNode

Obtient un objet SiteMapNode qui représente la page de niveau supérieur de la structure de navigation du site.Gets a SiteMapNode object that represents the top-level page of the navigation structure for the site.

Événements

SiteMapResolve

Se produit en cas d'accès à la propriété CurrentNode.Occurs when the CurrentNode property is accessed.

S’applique à

Voir aussi