SiteMap Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die SiteMap-Klasse ist eine im Speicher befindliche Darstellung der Navigationsstruktur einer Site, die von einem oder mehreren Siteübersichtsanbietern bereitgestellt wird. Diese Klasse kann nicht vererbt werden.
public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
- Vererbung
-
SiteMap
Beispiele
Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie sie einen Siteübersichtsanbieter in einer Web.config-Datei deklarieren. Im zweiten Codebeispiel wird die Verwendung eines SiteMap -Objekts veranschaulicht.
Das folgende Codebeispiel ist ein Web.config Konfigurationsabschnitt, der veranschaulicht, wie ein XmlSiteMapProvider Objekt als Standardobjekt SiteMapProvider deklariert wird.
<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 zu den RootNode Eigenschaften und CurrentNode anzuzeigen. Vergleichen Sie es mit der Ausgabe, die SiteMapPath vom Steuerelement gerendert wird.
<%@ 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
Websitezuordnungen werden in Verbindung mit den SiteMapDataSourceSteuerelementen , SiteMapPathund anderen Steuerelementen verwendet, um eine effektive Navigationsoberfläche zu rendern, über die Benutzer auf einer Website navigieren können. Ein SiteMap -Objekt ist eine Komponente der ASP.NET Websitenavigationsinfrastruktur, die Den Zugriff auf schreibgeschützte Websiteübersichtsinformationen für Seiten- und Steuerelemententwickler über Navigation und SiteMapDataSource Steuerelemente ermöglicht. Weitere Komponenten der ASP.NET Websitenavigationsinfrastruktur sind die SiteMapProvider Klassen und XmlSiteMapProvider , die Datei Web.sitemap und die verschiedenen Steuerelemente, die mit der SiteMap Klasse arbeiten, z. B. das SiteMapPath Steuerelement, um Inhalte und Menüs zu rendern.
Die SiteMap hat mehrere Funktionen:
Es stellt den Stammknoten der Websitenavigationshierarchie bereit (es kann nur einen Stammknoten geben).
Er identifiziert, welcher Siteübersichtsanbieter der Prinzipal oder der Standardanbieter ist.
Es verfolgt alle Anbieterobjekte nach, die zum Erstellen von SiteMapverwendet werden.
Grundsätzlich ist der SiteMap ein Container für eine hierarchische Auflistung von SiteMapNode Objekten. Die SiteMap Beziehungen zwischen den Knoten werden jedoch nicht beibehalten, sondern an die Siteübersichtsanbieter delegiert. Die SiteMap fungiert als Schnittstelle zu den Websitenavigationsinformationen (in Form von SiteMapNode Objekten), die von diesen Siteübersichtsanbietern gespeichert werden. Sie verfolgt die Anbieter, von denen aus sie auf Websitenavigationsdaten zugreifen kann, und macht ihre Providers Sammlung verfügbar. Ein Anbieter kann seine Siteübersichtsinformationen in beliebiger Weise speichern. Solange er die SiteMapProvider abstrakte Klasse erweitert, kann die SiteMap Klasse erfolgreich aus ihr initialisiert werden.
Der Standardanbieter für die SiteMap -Klasse ist die XmlSiteMapProvider -Klasse, die mit der XML-Konfigurationsdatei Web.sitemap funktioniert. Sie können jedoch Ihr eigenes SiteMapProvider Objekt schreiben und verwenden, um die Siteübersicht für Ihre Website zu initialisieren. Ein Beispiel für einen benutzerdefinierten Siteübersichtsanbieter finden Sie unter SiteMapProvider.
Es wird eine Standardkonfiguration der Siteübersicht angegeben, die die Konfiguration der Websitenavigation verwaltet. Sie können diese Konfiguration in der Web.config-Datei überschreiben, wenn Sie ihren eigenen Siteübersichtsanbieter schreiben möchten.
Die SiteMap -Klasse bietet nur statische Member für die Leistung und kann jederzeit über ein Webformular oder Webserversteuerelement auf eine bestimmte Website zugegriffen werden.
Eigenschaften
CurrentNode |
Ruft ein SiteMapNode-Steuerelement ab, das die gerade angeforderte Seite darstellt. |
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. |
Provider |
Ruft das SiteMapProvider-Standardobjekt für die aktuelle Siteübersicht ab. |
Providers |
Ruft eine schreibgeschützte Auflistung von genannten SiteMapProvider-Objekten ab, die der SiteMap-Klasse zur Verfügung stehen. |
RootNode |
Ruft ein SiteMapNode-Objekt ab, das die oberste Seite der Navigationsstruktur für die Site darstellt. |
Ereignisse
SiteMapResolve |
Tritt ein, wenn auf die CurrentNode-Eigenschaft zugegriffen wird. |
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für