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 horní úroveň stránky navigační struktury pro web.
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
Hodnota vlastnosti
A SiteMapNode , který představuje stránku nejvyšší úrovně navigační struktury webu; jinak , 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
nullŘeší RootNode se na , ke kterému dochází v případě, že 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 je podporována pouze v případech, kdy je spuštěna nízká důvěryhodnost nebo vyšší.
Příklady
Následující příklad kódu ukazuje použití RootNode vlastnosti 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 vyžádáním 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 pro třídu, podporuje pouze jeden RootNode.
Pokud implementujete vlastní SiteMapProvider třídu a přepíšete abstraktní RootNode vlastnost, musíte zadat vlastní implementaci pro sledování RootNode vlastnosti SiteMapNode instance.
Kořenový uzel musí být viditelný pro všechny uživatele podle návrhu. Pokud kořenový uzel není viditelný pro všechny uživatele, když je povolené oříznutí zabezpečení, může přístup k RootNode vlastnosti způsobit InvalidOperationException výjimku.