Sdílet prostřednictvím


SiteMap.RootNode Vlastnost

Definice

SiteMapNode Získá objekt, který představuje stránku nejvyšší úrovně navigační struktury pro web.

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

Hodnota vlastnosti

SiteMapNode

A SiteMapNode , která představuje stránku nejvyšší úrovně navigační struktury webu; v opačném případě, nullpokud je povolené oříznutí zabezpečení a uzel nelze vrátit aktuálnímu uživateli.

Výjimky

Funkce mapy webu není povolená.

-nebo- Překládá RootNode se na null, ke kterému dochází, pokud je povolené oříznutí zabezpečení a kořenový uzel není viditelný pro aktuálního uživatele.

Výchozí zprostředkovatel zadaný v konfiguraci neexistuje.

Tato funkce se podporuje pouze při spouštění v nízké důvěryhodnosti nebo vyšší.

Příklady

Následující příklad kódu ukazuje, jak použít RootNode vlastnost k načtení SiteMapNode objektu, který představuje kořenový uzel webu bez ohledu na aktuální umístění v hierarchii stránky.

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

Poznámky

Třída SiteMap načte RootNode vlastnost tím, že ji požádá od zprostředkovatele. Pokud existuje hierarchie zprostředkovatele, SiteMap třída načte kořenový uzel kořenového zprostředkovatele v hierarchii. Pokud chcete získat přístup ke kořenovému uzlu výchozího zprostředkovatele, zavolejte Provider vlastnost, která načte výchozího zprostředkovatele i jeho RootNode vlastnost.

Objekt XmlSiteMapProvider , který je výchozím zprostředkovatelem SiteMap třídy, podporuje pouze jeden RootNode.

Pokud implementujete vlastní SiteMapProvider třídu a přepíšete abstraktní RootNode vlastnost, musíte poskytnout vlastní implementaci pro sledování RootNode vlastnosti SiteMapNode instance.

Kořenový uzel musí být viditelný všem uživatelům podle návrhu. Pokud kořenový uzel není viditelný všem uživatelům, když je povolené oříznutí zabezpečení, může přístup k RootNode vlastnosti způsobit InvalidOperationException výjimku.

Platí pro

Viz také