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 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 XmlSiteMapProvider , wie ein 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 das SiteMap -Objekt verwendet wird, indem auf seine statischen Member zugegriffen RootNode wird CurrentNode , um Informationen über die Eigenschaften und 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 Sie 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>

Hinweise

Site Maps werden zusammen mit den SiteMapDataSource-, SiteMapPath-und 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 SiteMapDataSource von Navigation und 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 - XmlSiteMapProvider und-Klassen, die Datei "Web. Sitemap" sowie die verschiedenen Steuerelemente SiteMap , die mit der- SiteMapPath Klasse funktionieren, z. b. das-Steuerelement, um Inhalt zu Rendering. 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.

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 SiteMapvon verwendet werden.It keeps track of all the provider objects that are used to create the SiteMap.

Im SiteMap Grunde ist ein Container für eine hierarchische Auflistung von SiteMapNode -Objekten.Fundamentally, the SiteMap is a container for a hierarchical collection of SiteMapNode objects. Allerdings werden SiteMap die Beziehungen zwischen den Knoten von nicht beibehalten, sondern 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. Das SiteMap fungiert als Schnittstelle zu den Website 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 Providers können und deren 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 abstrakte 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 XmlSiteMapProvider die-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. Allerdings können Sie 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 SiteMapProviderSie unter.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.

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