SiteMap SiteMap SiteMap SiteMap Class

Definizione

La classe SiteMap è una rappresentazione in memoria della struttura di navigazione in un sito, specificata da uno o più provider della mappa del sito.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. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
Ereditarietà
SiteMapSiteMapSiteMapSiteMap

Esempi

In questa sezione sono riportati due esempi di codice.This section contains two code examples. Nel primo esempio di codice viene illustrato come dichiarare un provider della mappa del sito in un file Web. config.The first code example demonstrates how to declare a site map provider in a Web.config file. Nel secondo esempio di codice viene illustrato come utilizzare SiteMap un oggetto.The second code example demonstrates how to use a SiteMap object.

L'esempio di codice seguente è una sezione di configurazione di Web. config che XmlSiteMapProvider illustra come un oggetto viene dichiarato SiteMapProvider come oggetto predefinito.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>  

Nell'esempio di codice seguente viene illustrato come utilizzare SiteMap l'oggetto accedendo ai relativi membri statici per visualizzare informazioni RootNode sulle proprietà CurrentNode e.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. Confrontarlo con l'output di cui è stato eseguito SiteMapPath il rendering dal controllo.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>

Commenti

Le mappe del SiteMapDataSourcesito vengono utilizzate insieme a, SiteMapPathe altri controlli per eseguire il rendering di un'interfaccia di spostamento efficace per consentire agli utenti di spostarsi in un sito 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 oggetto è un componente dell'infrastruttura di navigazione del sito di ASP.NET che fornisce l'accesso alle informazioni della mappa del sito di sola lettura per gli sviluppatori SiteMapDataSource di pagine e controlli tramite la navigazione e i controlli.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. Altri componenti dell'infrastruttura di navigazione del sito di ASP.NET SiteMapProvider includono XmlSiteMapProvider le classi e, il file Web. Sitemap e i vari controlli che funzionano con SiteMap la classe, ad esempio SiteMapPath il controllo, per eseguire il rendering del contenuto e menu.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.

SiteMap Ha diverse funzioni:The SiteMap has several functions:

  • Fornisce il nodo radice della gerarchia di navigazione del sito. può essere presente un solo nodo radice.It provides the root node of the site navigation hierarchy (there can be only one root node).

  • Identifica il provider della mappa del sito come provider principale o predefinito.It identifies which site map provider is the principal, or default, provider.

  • Tiene traccia di tutti gli oggetti provider usati per creare l'oggetto SiteMap.It keeps track of all the provider objects that are used to create the SiteMap.

Fondamentalmente, SiteMap è un contenitore per una raccolta gerarchica di SiteMapNode oggetti.Fundamentally, the SiteMap is a container for a hierarchical collection of SiteMapNode objects. Tuttavia, SiteMap non mantiene le relazioni tra i nodi, bensì delega questa operazione ai provider della mappa del sito.However, the SiteMap does not maintain the relationships between the nodes; rather, it delegates this to the site map providers. Funge da interfaccia per le informazioni di navigazione del sito (sotto forma di oggetti SiteMapNode ) che vengono utilizzate dai provider della mappa del sito. SiteMapThe SiteMap acts as an interface to the site navigation information (in the form of SiteMapNode objects) that is held by these site map providers. Tiene traccia dei provider da cui può accedere ai dati di navigazione del sito ed espone la Providers relativa raccolta.It keeps track of the providers from which it can access site navigation data and exposes its Providers collection. Un provider può archiviare le informazioni sulla mappa del sito in qualsiasi modo, purché estenda la SiteMapProvider classe astratta, la SiteMap classe può essere inizializzata correttamente.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.

Il provider predefinito per la SiteMap classe è la XmlSiteMapProvider classe, che funziona con un file di configurazione XML, Web. sitemap.The default provider for the SiteMap class is the XmlSiteMapProvider class, which works with an XML configuration file, Web.sitemap. Tuttavia, è possibile scrivere un oggetto SiteMapProvider personalizzato e usarlo per inizializzare la mappa del sito per il sito.However, you can write your own SiteMapProvider object, and use it to initialize the site map for your site. Per un esempio di provider della mappa del sito personalizzato, SiteMapProvidervedere.For an example of a custom site map provider, see SiteMapProvider.

Viene specificata una configurazione predefinita della mappa del sito che gestisce la configurazione di navigazione del sito.A default site map configuration is specified that manages the site navigation configuration. È possibile eseguire l'override di questa configurazione nel file Web. config, se si sceglie di scrivere un provider della mappa del sito personalizzato.You can override this configuration in the Web.config file, should you choose to write your own site map provider.

La SiteMap classe offre solo membri statici per le prestazioni e può essere accessibile in qualsiasi momento in un determinato sito da un Web Form o da un controllo server 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.

Proprietà

CurrentNode CurrentNode CurrentNode CurrentNode

Ottiene un controllo SiteMapNode che rappresenta la pagina attualmente richiesta.Gets a SiteMapNode control that represents the currently requested page.

Enabled Enabled Enabled Enabled

Ottiene un valore booleano che indica se un provider della mappa del sito è specificato nel file Web.config e se tale provider è attivato.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 Provider Provider Provider

Ottiene l'oggetto SiteMapProvider predefinito per la mappa del sito corrente.Gets the default SiteMapProvider object for the current site map.

Providers Providers Providers Providers

Ottiene una raccolta in sola lettura degli oggetti SiteMapProvider denominati disponibili per la classe SiteMap.Gets a read-only collection of named SiteMapProvider objects that are available to the SiteMap class.

RootNode RootNode RootNode RootNode

Ottiene un oggetto SiteMapNode che rappresenta la pagina di primo livello della struttura di navigazione nel sito.Gets a SiteMapNode object that represents the top-level page of the navigation structure for the site.

Eventi

SiteMapResolve SiteMapResolve SiteMapResolve SiteMapResolve

Si verifica quando viene effettuato l'accesso alla proprietà CurrentNode.Occurs when the CurrentNode property is accessed.

Si applica a

Vedi anche