SiteMap.CurrentNode SiteMap.CurrentNode SiteMap.CurrentNode SiteMap.CurrentNode Property

Definition

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

public:
 static property System::Web::SiteMapNode ^ CurrentNode { System::Web::SiteMapNode ^ get(); };
public static System.Web.SiteMapNode CurrentNode { get; }
member this.CurrentNode : System.Web.SiteMapNode
Public Shared ReadOnly Property CurrentNode As SiteMapNode

Eigenschaftswert

Eine SiteMapNode-Instanz, die die gerade angeforderte Seite darstellt, andernfalls null, wenn in den Siteübersichtsinformationen kein repräsentativer Knoten vorhanden ist.A SiteMapNode instance that represents the currently requested page; otherwise, null, if no representative node exists in the site map information.

Ausnahmen

Das Siteübersichtsfeature ist nicht aktiviert.The site map feature is not enabled.

Der in der Konfiguration angegebene Standardanbieter ist nicht vorhanden.The default provider specified in the configuration does not exist.

Das Feature wird nur unterstützt, wenn es mindestens mit niedriger Vertrauenswürdigkeit ausgeführt wird.The feature is supported only when running in Low trust or higher.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die CurrentNode -Eigenschaft verwendet wird SiteMapNode , um das Objekt abzurufen, das die aktuelle Seite darstellt.The following code example demonstrates how to use the CurrentNode property to retrieve the SiteMapNode object that represents the current page.

<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.The SiteMap class retrieves the CurrentNode property by requesting it from the provider.

Wenn für die Seite in den Site Übersichts Informationen kein repräsentativer Knoten vorhanden ist oder wenn die Sicherheits Kürzung aktiviert ist und der Knoten für den aktuellen Benutzer nicht zurück null gegeben werden kann, wird zurückgegeben.If no representative node exists for the page in the site map information, or if security trimming is enabled and the node cannot be returned for the current user, null is returned.

Das SiteMapResolve Ereignis wird vom standardmäßigen Site Übersichts Anbieter ausgelöst, wenn ein oder mehrere Abonnements vorhanden sind.The SiteMapResolve event is raised by the default site map provider if one or more subscriptions exist.

Wenn Sie ein eigenes SiteMapProvider -Objekt implementieren, können Sie einen eigenen Mechanismus zum Suchen und CurrentNodeAbrufen von erstellen.If you implement your own SiteMapProvider object, you might create your own mechanism to find and retrieve the CurrentNode. Wenn Sie jedoch die StaticSiteMapProvider -Klasse erweitern und ein URL-basiertes Schema verwenden, um Seiten zu identifizieren, können Sie die FindSiteMapNode -Methode überschreiben.However, if you extend the StaticSiteMapProvider class and use a URL-based scheme to identify pages, you can override the FindSiteMapNode method.

Gilt für:

Siehe auch