SiteMap.RootNode Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient un SiteMapNode objet qui représente la page de niveau supérieur de la structure de navigation du site.
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
Valeur de propriété
Qui SiteMapNode représente la page de niveau supérieur de la structure de navigation du site ; sinon, nullsi le découpage de sécurité est activé et que le nœud ne peut pas être retourné à l’utilisateur actuel.
Exceptions
La fonctionnalité de carte de site n’est pas activée.
- ou -
La RootNode résolution est nulleffectuée sur , ce qui se produit si le découpage de sécurité est activé et que le nœud racine n’est pas visible pour l’utilisateur actuel.
Le fournisseur par défaut spécifié dans la configuration n’existe pas.
La fonctionnalité est prise en charge uniquement lors de l’exécution en faible confiance ou ultérieure.
Exemples
L’exemple de code suivant montre comment utiliser la propriété pour récupérer l’objet RootNodeSiteMapNode qui représente le nœud racine du site, quel que soit l’emplacement actuel dans la hiérarchie de pages.
<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>
Remarques
La SiteMap classe récupère la RootNode propriété en la demandant auprès du fournisseur. S’il existe une hiérarchie de fournisseur, la SiteMap classe récupère le nœud racine du fournisseur racine dans la hiérarchie. Pour accéder au nœud racine du fournisseur par défaut, appelez la Provider propriété, qui récupère le fournisseur par défaut et sa RootNode propriété.
L’objet XmlSiteMapProvider , qui est le fournisseur par défaut de la SiteMap classe, ne prend en charge qu’un RootNodeseul .
Si vous implémentez votre propre SiteMapProvider classe et remplacez la propriété abstraite RootNode , vous devez fournir votre propre implémentation pour suivre la RootNode propriété de l’instance SiteMapNode .
Le nœud racine doit être visible par tous les utilisateurs, par conception. Si le nœud racine n’est pas visible pour tous les utilisateurs lorsque le découpage de sécurité est activé, l’accès à la RootNode propriété peut entraîner une InvalidOperationException exception.