SiteMap.RootNode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.