SiteMap.RootNode Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett SiteMapNode objekt som representerar den översta sidan i webbplatsens navigeringsstruktur.
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
Egenskapsvärde
En SiteMapNode som representerar den översta sidan i webbplatsens navigeringsstruktur. Annars null, om säkerhetstrimning är aktiverat och noden inte kan returneras till den aktuella användaren.
Undantag
Webbplatsöversiktsfunktionen är inte aktiverad.
-eller-
RootNode Löser till null, vilket inträffar om säkerhetstrimning är aktiverat och rotnoden inte är synlig för den aktuella användaren.
Standardprovidern som anges i konfigurationen finns inte.
Funktionen stöds endast när den körs med lågt förtroende eller högre.
Exempel
Följande kodexempel visar hur du använder RootNode egenskapen för att hämta objektet SiteMapNode som representerar rotnoden på platsen, oavsett den aktuella platsen i sidhierarkin.
<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>
Kommentarer
Klassen SiteMap hämtar RootNode egenskapen genom att begära den från providern. Om det finns en providerhierarki SiteMap hämtar klassen rotnoden för rotprovidern i hierarkin. Om du vill komma åt standardproviderns rotnod anropar du Provider egenskapen som hämtar både standardprovidern och dess RootNode egenskap.
Objektet XmlSiteMapProvider , som är standardprovidern SiteMap för klassen, stöder bara en RootNode.
Om du implementerar din egen SiteMapProvider klass och åsidosätter den abstrakta RootNode egenskapen måste du ange en egen implementering för att spåra instansens RootNodeSiteMapNode egenskap.
Rotnoden måste vara synlig för alla användare, avsiktligt. Om rotnoden inte är synlig för alla användare när säkerhetstrimning är aktiverad kan åtkomst till RootNode egenskapen resultera i ett InvalidOperationException undantag.