Freigeben über


SiteMap.RootNode Eigenschaft

Definition

Ruft ein SiteMapNode-Objekt ab, das die oberste Seite der Navigationsstruktur für die Site darstellt.

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

Eigenschaftswert

Ein SiteMapNode, der die oberste Seite der Sitenavigationsstruktur darstellt; andernfalls null, wenn die Einschränkung aus Sicherheitsgründen aktiviert ist und der Knoten nicht an den aktuellen Benutzer zurückgegeben werden kann.

Ausnahmen

Das Siteübersichtsfeature ist nicht aktiviert.

- oder -

Der RootNode wird aufgelöst und ergibt null. Dies tritt auf, wenn die Einschränkung aus Sicherheitsgründen aktiviert ist und der Stammknoten für den aktuellen Benutzer nicht sichtbar ist.

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 RootNode -Eigenschaft verwendet wird, um das SiteMapNode Objekt abzurufen, das den Stammknoten der Website darstellt, unabhängig vom aktuellen Speicherort in der Seitenhierarchie.

<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 RootNode -Eigenschaft ab, indem sie sie vom Anbieter anfordert. Wenn eine Anbieterhierarchie vorhanden ist, ruft die SiteMap -Klasse den Stammknoten des Stammanbieters in der Hierarchie ab. Um auf den Stammknoten des Standardanbieters zuzugreifen, rufen Sie die Provider -Eigenschaft auf, die sowohl den Standardanbieter als auch seine RootNode Eigenschaft abruft.

Das XmlSiteMapProvider -Objekt, das der Standardanbieter für die SiteMap -Klasse ist, unterstützt nur einen RootNode.

Wenn Sie Ihre eigene SiteMapProvider Klasse implementieren und die abstrakte RootNode Eigenschaft außer Kraft setzen, müssen Sie Eine eigene Implementierung bereitstellen, um die RootNode -Eigenschaft der SiteMapNode -Instanz nachzuverfolgen.

Der Stammknoten muss standardmäßig für alle Benutzer sichtbar sein. Wenn der Stammknoten nicht für alle Benutzer sichtbar ist, wenn die Sicherheitskürzung aktiviert ist, kann der Zugriff auf die RootNode Eigenschaft zu einer InvalidOperationException Ausnahme führen.

Gilt für:

Weitere Informationen