SiteMap.RootNode Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
SiteMapNode Lekéri a webhely navigációs struktúrájának legfelső szintű lapját jelképező objektumot.
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
Tulajdonság értéke
A SiteMapNode webhely navigációs struktúrájának legfelső szintű lapját jelöli; ellenkező esetben, ha engedélyezve van a biztonsági vágás, nullés a csomópont nem adható vissza az aktuális felhasználónak.
Kivételek
A webhelytérkép szolgáltatás nincs engedélyezve.
-vagy-
A RootNode feloldás a következő lesz null, amely akkor fordul elő, ha a biztonsági vágás engedélyezve van, és a gyökércsomópont nem látható az aktuális felhasználó számára.
A konfigurációban megadott alapértelmezett szolgáltató nem létezik.
A funkció csak alacsony megbízhatósági vagy magasabb szintű futtatás esetén támogatott.
Példák
Az alábbi példakód bemutatja, hogyan használhatja a tulajdonságot a RootNodeSiteMapNode webhely gyökércsomópontját képviselő objektum lekérésére, függetlenül a laphierarchia aktuális helyétől.
<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>
Megjegyzések
Az SiteMap osztály lekéri a RootNode tulajdonságot a szolgáltatótól való lekérésével. Ha van szolgáltatói hierarchia, az SiteMap osztály lekéri a gyökérszolgáltató gyökércsomópontját a hierarchiában. Az alapértelmezett szolgáltató gyökércsomópontjának eléréséhez hívja meg a Provider tulajdonságot, amely az alapértelmezett szolgáltatót és annak tulajdonságát RootNode is lekéri.
Az XmlSiteMapProvider osztály alapértelmezett szolgáltatójának SiteMap számító objektum csak egyet RootNodetámogat.
Ha saját SiteMapProvider osztályt valósít meg, és felülbírálja az absztrakt tulajdonságot RootNode , saját implementációt kell biztosítania a RootNode példány tulajdonságának SiteMapNode nyomon követéséhez.
A gyökércsomópontnak minden felhasználó számára láthatónak kell lennie, terv szerint. Ha a gyökércsomópont nem látható minden felhasználó számára, ha engedélyezve van a biztonsági mentés, a RootNode tulajdonság elérése kivételt InvalidOperationException eredményezhet.