SiteMap.RootNode Egenskap

Definition

Hämtar ett SiteMapNode objekt som representerar den översta sidan i webbplatsens navigeringsstruktur.

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

Egenskapsvärde

En SiteMapNode som representerar den översta sidan i webbplatsens navigeringsstruktur. Annars null, om säkerhetstrimning är aktiverat och noden inte kan returneras till den aktuella användaren.

Undantag

Webbplatsöversiktsfunktionen är inte aktiverad.

-eller-

RootNode Löser till null, vilket inträffar om säkerhetstrimning är aktiverat och rotnoden inte är synlig för den aktuella användaren.

Standardprovidern som anges i konfigurationen finns inte.

Funktionen stöds endast när den körs med lågt förtroende eller högre.

Exempel

Följande kodexempel visar hur du använder RootNode egenskapen för att hämta objektet SiteMapNode som representerar rotnoden på platsen, oavsett den aktuella platsen i sidhierarkin.

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

Kommentarer

Klassen SiteMap hämtar RootNode egenskapen genom att begära den från providern. Om det finns en providerhierarki SiteMap hämtar klassen rotnoden för rotprovidern i hierarkin. Om du vill komma åt standardproviderns rotnod anropar du Provider egenskapen som hämtar både standardprovidern och dess RootNode egenskap.

Objektet XmlSiteMapProvider , som är standardprovidern SiteMap för klassen, stöder bara en RootNode.

Om du implementerar din egen SiteMapProvider klass och åsidosätter den abstrakta RootNode egenskapen måste du ange en egen implementering för att spåra instansens RootNodeSiteMapNode egenskap.

Rotnoden måste vara synlig för alla användare, avsiktligt. Om rotnoden inte är synlig för alla användare när säkerhetstrimning är aktiverad kan åtkomst till RootNode egenskapen resultera i ett InvalidOperationException undantag.

Gäller för

Se även