SiteMap SiteMap SiteMap 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
Vererbung
SiteMapSiteMapSiteMapSiteMap

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele.This section contains two code examples. Im ersten Codebeispiel wird veranschaulicht, wie einen Siteübersichtsanbieter 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 Sie mit einem SiteMap Objekt.The second code example demonstrates how to use a SiteMap object.

Im folgenden Codebeispiel wird eine Datei "Web.config"-Konfigurationsabschnitt, der zeigt, wie ein XmlSiteMapProvider -Objekt deklariert wird, als Standard SiteMapProvider Objekt.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 mit der SiteMap Objekt durch den Zugriff auf dessen statische Member zum Anzeigen von Informationen über die RootNode und CurrentNode Eigenschaften.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 ihn in die Ausgabe, die von gerendert wird die SiteMapPath Steuerelement.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>

Hinweise

Website-Zuordnungen werden verwendet, in Verbindung mit der SiteMapDataSource, SiteMapPath, und andere Steuerelemente zum Rendern einer effektiven Navigationsschnittstelle für Benutzer eine Website navigieren.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 von ASP.NET Site Navigation-Infrastruktur den Zugriff auf nur-Lese Sitemapinformationen für Seiten und-Steuerelementen-Entwickler, die mithilfe der Navigation und SiteMapDataSource Steuerelemente.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. Andere Komponenten von der Website-Navigation ASP.NET-Infrastruktur enthalten die SiteMapProvider und XmlSiteMapProvider Klassen, die Web.sitemap-Datei und die verschiedenen Steuerelemente, die Arbeit mit der SiteMap Klasse, z. B. die SiteMapPath Steuerelement zum Rendern von Inhalten und Menüs.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.

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

  • Es bietet es sich um den Stammknoten der Sitenavigationshierarchie (es kann sein nur einen Stammknoten).It provides the root node of the site navigation hierarchy (there can be only one root node).

  • Identifiziert die Sitezuordnungsprovider der Prinzipal, oder standardmäßig-Anbieter ist.It identifies which site map provider is the principal, or default, provider.

  • Es verfolgt des die Anbieterobjekte, die zum Erstellen der SiteMap.It keeps track of all the provider objects that are used to create the SiteMap.

Im Grunde die SiteMap ist ein Container für eine hierarchische Auflistung von SiteMapNode Objekte.Fundamentally, the SiteMap is a container for a hierarchical collection of SiteMapNode objects. Allerdings die SiteMap behält keine Beziehungen zwischen Knoten aus, und stattdessen delegiert Sie diese an die Siteübersichtsanbieter.However, the SiteMap does not maintain the relationships between the nodes; rather, it delegates this to the site map providers. Die SiteMap fungiert als eine Schnittstelle für die Navigationsinformationen für die Website (in Form von SiteMapNode Objekte), wird von dieser Siteübersichtsanbietern aufrechterhalten.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. Es verfolgt des Anbieter aus sie, Standortdaten für die Navigation und macht zugreifen können seine Providers Auflistung.It keeps track of the providers from which it can access site navigation data and exposes its Providers collection. Ein Anbieter kann seinen Sitemapinformationen in keiner Weise - speichern, solange es erweitert die SiteMapProvider abstrakte Klasse, die SiteMap Klasse daraus wurde erfolgreich initialisiert werden kann.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 Schreiben eigener SiteMapProvider -Objekt und verwenden, um die Sitemap für Ihre Website zu initialisieren.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 Sitezuordnungsprovider, finden Sie unter SiteMapProvider.For an example of a custom site map provider, see SiteMapProvider.

Eine Site Map-Standardkonfiguration wurde angegeben, die die Konfiguration der Website-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" überschreiben, die Sie auswählen sollten, Schreiben Sie Ihren eigenen Siteübersichtsanbieter.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 Leistung und zu einem beliebigen Zeitpunkt in einer bestimmten Website aus einem Web Form oder das Webserver-Steuerelement zugegriffen werden kann.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.

Eigenschaften

CurrentNode CurrentNode CurrentNode CurrentNode

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

Enabled Enabled Enabled 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 Provider Provider Provider

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

Providers Providers Providers 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 RootNode RootNode 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.

Ereignisse

SiteMapResolve SiteMapResolve SiteMapResolve SiteMapResolve

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

Gilt für:

Siehe auch