SiteMap.CurrentNode Eigenschaft
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.
Ruft ein SiteMapNode Steuerelement ab, das die aktuell angeforderte Seite darstellt.
public:
static property System::Web::SiteMapNode ^ CurrentNode { System::Web::SiteMapNode ^ get(); };
public static System.Web.SiteMapNode CurrentNode { get; }
static member CurrentNode : System.Web.SiteMapNode
Public Shared ReadOnly Property CurrentNode As SiteMapNode
Eigenschaftswert
Eine SiteMapNode Instanz, die die aktuell angeforderte Seite darstellt; andernfalls null, wenn in den Websiteübersichtsinformationen kein repräsentativer Knoten vorhanden ist.
Ausnahmen
Das Feature "Siteübersicht" ist nicht aktiviert.
Der in der Konfiguration angegebene Standardanbieter ist nicht vorhanden.
Das Feature wird nur unterstützt, wenn es in niedriger Vertrauensebene oder höher ausgeführt wird.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die CurrentNode Eigenschaft verwendet wird, um das Objekt abzurufen, das SiteMapNode die aktuelle Seite darstellt.
<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>
<script runat="server">
Private Sub Page_Load(sender As Object, e As 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>
Hinweise
Die SiteMap Klasse ruft die CurrentNode Eigenschaft ab, indem sie vom Anbieter angefordert wird.
Wenn für die Seite in den Websitezuordnungsinformationen kein repräsentativer Knoten vorhanden ist oder wenn die Sicherheitskürzung aktiviert ist und der Knoten für den aktuellen Benutzer nicht zurückgegeben werden kann, null wird zurückgegeben.
Das SiteMapResolve Ereignis wird vom Standardmäßigen Websitezuordnungsanbieter ausgelöst, wenn mindestens ein Abonnement vorhanden ist.
Wenn Sie Ihr eigenes SiteMapProvider Objekt implementieren, können Sie einen eigenen Mechanismus zum Suchen und Abrufen des CurrentNodeObjekts erstellen. Wenn Sie die StaticSiteMapProvider Klasse jedoch erweitern und ein URL-basiertes Schema verwenden, um Seiten zu identifizieren, können Sie die FindSiteMapNode Methode überschreiben.