SiteMap Class

Definition

Die SiteMap-Klasse ist eine im Speicher befindliche Darstellung der Navigationsstruktur einer Site, die von einem oder mehreren Siteübersichtsanbietern bereitgestellt wird.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. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
Inheritance
SiteMap

Examples

Dieser Abschnitt enthält zwei Codebeispiele.This section contains two code examples. Im ersten Codebeispiel wird veranschaulicht, wie ein Site Übersichts Anbieter in einer Web. config-Datei deklariert wird.The first code example demonstrates how to declare a site map provider in a Web.config file. Im zweiten Codebeispiel wird veranschaulicht, wie ein SiteMap-Objekt verwendet wird.The second code example demonstrates how to use a SiteMap object.

Das folgende Codebeispiel ist ein Konfigurations Abschnitt von Web. config, der veranschaulicht, wie ein XmlSiteMapProvider-Objekt als Standard SiteMapProvider Objekt deklariert wird.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>  

Im folgenden Codebeispiel wird veranschaulicht, wie Sie das SiteMap-Objekt verwenden, indem Sie auf seine statischen Member zugreifen, um Informationen über die Eigenschaften RootNode und CurrentNode anzuzeigen.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. Vergleichen Sie die Ausgabe mit der Ausgabe, die vom SiteMapPath-Steuerelement gerendert wird.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>

Remarks

Site Maps werden zusammen mit den SiteMapDataSource, SiteMapPathund anderen Steuerelementen verwendet, um eine effektive Navigationsschnittstelle zum Navigieren zu einer Website zu erzeugen.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. Ein SiteMap-Objekt ist eine Komponente der ASP.net-Standort Navigations Infrastruktur, die den Zugriff auf schreibgeschützte Site Übersichts Informationen für Seiten-und Steuerungs Entwickler mithilfe von Navigations-und SiteMapDataSource Steuerelementen ermöglicht.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. Weitere Komponenten der ASP.net-Standort Navigations Infrastruktur sind die SiteMapProvider-und XmlSiteMapProvider Klassen, die Datei "Web. Sitemap" sowie die verschiedenen Steuerelemente, die mit der SiteMap-Klasse funktionieren, wie z. b. das SiteMapPath-Steuerelement, um Inhalt und Menüs zu Rendering.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.

Der SiteMap verfügt über mehrere Funktionen:The SiteMap has several functions:

  • Es stellt den Stamm Knoten der Standort Navigations Hierarchie bereit (es kann nur ein Stamm Knoten vorhanden sein).It provides the root node of the site navigation hierarchy (there can be only one root node).

  • Er identifiziert, welcher Site Übersichts Anbieter der Prinzipal oder der Standardanbieter ist.It identifies which site map provider is the principal, or default, provider.

  • Dabei werden alle Anbieter Objekte nachverfolgt, die zum Erstellen des SiteMapverwendet werden.It keeps track of all the provider objects that are used to create the SiteMap.

Grundsätzlich handelt es sich bei der SiteMap um einen Container für eine hierarchische Auflistung von SiteMapNode Objekten.Fundamentally, the SiteMap is a container for a hierarchical collection of SiteMapNode objects. Der SiteMap behält jedoch die Beziehungen zwischen den Knoten nicht bei. Stattdessen wird diese an die Site Übersichts Anbieter delegiert.However, the SiteMap does not maintain the relationships between the nodes; rather, it delegates this to the site map providers. Der SiteMap fungiert als Schnittstelle zu den Standort Navigationsinformationen (in Form von SiteMapNode Objekten), die von diesen Site Übersichts Anbietern aufbewahrt werden.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. Dabei werden die Anbieter verfolgt, von denen aus Sie auf die Daten zur Website Navigation zugreifen können und deren Providers Sammlung verfügbar gemacht wird.It keeps track of the providers from which it can access site navigation data and exposes its Providers collection. Ein Anbieter kann seine Site Übersichts Informationen in beliebiger Weise speichern. solange die SiteMapProvider abstrakten Klasse erweitert wird, kann die SiteMap Klasse erfolgreich initialisiert werden.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.

Der Standardanbieter für die SiteMap-Klasse ist die XmlSiteMapProvider-Klasse, die mit einer XML-Konfigurationsdatei (Web. Sitemap) funktioniert.The default provider for the SiteMap class is the XmlSiteMapProvider class, which works with an XML configuration file, Web.sitemap. Sie können jedoch ein eigenes SiteMapProvider Objekt schreiben und es zum Initialisieren der Site Übersicht für Ihre Website verwenden.However, you can write your own SiteMapProvider object, and use it to initialize the site map for your site. Ein Beispiel für einen benutzerdefinierten Site Übersichts Anbieter finden Sie unter SiteMapProvider.For an example of a custom site map provider, see SiteMapProvider.

Es wird eine Standardkonfiguration für die Standort Zuordnung angegeben, die die Konfiguration der Standort Navigation verwaltet.A default site map configuration is specified that manages the site navigation configuration. Sie können diese Konfiguration in der Datei "Web. config" außer Kraft setzen, wenn Sie sich dafür entscheiden, einen eigenen Site Übersichts Anbieter zu schreiben.You can override this configuration in the Web.config file, should you choose to write your own site map provider.

Die SiteMap-Klasse bietet nur statische Member für die Leistung und kann jederzeit an einer bestimmten Website von einem Webformular oder einem Webserver Steuerelement aus aufgerufen werden.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.

Properties

CurrentNode

Ruft ein SiteMapNode-Steuerelement ab, das die gerade angeforderte Seite darstellt.Gets a SiteMapNode control that represents the currently requested page.

Enabled

Ruft einen booleschen Wert ab, der angibt, ob ein Siteübersichtsanbieter in der Datei Web.config angegeben ist, und ob der Siteübersichtsanbieter aktiviert ist.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

Ruft das SiteMapProvider-Standardobjekt für die aktuelle Siteübersicht ab.Gets the default SiteMapProvider object for the current site map.

Providers

Ruft eine schreibgeschützte Auflistung von genannten SiteMapProvider-Objekten ab, die der SiteMap-Klasse zur Verfügung stehen.Gets a read-only collection of named SiteMapProvider objects that are available to the SiteMap class.

RootNode

Ruft ein SiteMapNode-Objekt ab, das die oberste Seite der Navigationsstruktur für die Site darstellt.Gets a SiteMapNode object that represents the top-level page of the navigation structure for the site.

Events

SiteMapResolve

Tritt ein, wenn auf die CurrentNode-Eigenschaft zugegriffen wird.Occurs when the CurrentNode property is accessed.

Applies to

See also