SiteMap.CurrentNode Eigenschap

Definitie

Hiermee haalt u een SiteMapNode besturingselement op dat de momenteel aangevraagde pagina vertegenwoordigt.

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

Waarde van eigenschap

Een SiteMapNode exemplaar dat de momenteel aangevraagde pagina vertegenwoordigt, anders, nullals er geen representatief knooppunt bestaat in de siteoverzichtinformatie.

Uitzonderingen

De functie siteoverzicht is niet ingeschakeld.

De standaardprovider die in de configuratie is opgegeven, bestaat niet.

De functie wordt alleen ondersteund wanneer deze wordt uitgevoerd in Een lage vertrouwensrelatie of hoger.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de CurrentNode eigenschap gebruikt om het SiteMapNode object op te halen dat de huidige pagina vertegenwoordigt.

<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>

Opmerkingen

De SiteMap klasse haalt de CurrentNode eigenschap op door deze aan te vragen bij de provider.

Als er geen representatief knooppunt bestaat voor de pagina in de siteoverzichtgegevens of als beveiligingsbeperkingen zijn ingeschakeld en het knooppunt niet kan worden geretourneerd voor de huidige gebruiker, null wordt geretourneerd.

De SiteMapResolve gebeurtenis wordt gegenereerd door de standaardsiteoverzichtprovider als er een of meer abonnementen bestaan.

Als u uw eigen SiteMapProvider object implementeert, kunt u uw eigen mechanisme maken om de CurrentNode. Als u de StaticSiteMapProvider klasse echter uitbreidt en een op URL's gebaseerd schema gebruikt om pagina's te identificeren, kunt u de FindSiteMapNode methode overschrijven.

Van toepassing op

Zie ook