Freigeben über


SiteMap.CurrentNode Eigenschaft

Definition

Ruft ein SiteMapNode-Steuerelement ab, das die gerade 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 gerade angeforderte Seite darstellt, andernfalls null, wenn in den Siteübersichtsinformationen kein repräsentativer Knoten vorhanden ist.

Ausnahmen

Das Siteübersichtsfeature ist nicht aktiviert.

Der in der Konfiguration angegebene Standardanbieter ist nicht vorhanden.

Das Feature wird nur unterstützt, wenn es mindestens mit niedriger Vertrauenswürdigkeit ausgeführt wird.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die CurrentNode -Eigenschaft verwendet wird, um das SiteMapNode -Objekt abzurufen, das 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 sie vom Anbieter anfordert.

Wenn für die Seite in den Siteübersichtsinformationen 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 Standardanbieter für die Standortzuordnung ausgelöst, wenn ein oder mehrere Abonnements vorhanden sind.

Wenn Sie Ihr eigenes SiteMapProvider -Objekt implementieren, können Sie einen eigenen Mechanismus erstellen, um das CurrentNode-Objekt zu finden und abzurufen. Wenn Sie jedoch die StaticSiteMapProvider -Klasse erweitern und ein URL-basiertes Schema verwenden, um Seiten zu identifizieren, können Sie die FindSiteMapNode -Methode überschreiben.

Gilt für:

Weitere Informationen