SiteMap.RootNode Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
A SiteMapNode , která představuje stránku nejvyšší úrovně navigační struktury webu; v opačném případě, null
pokud 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.