Partager via


SiteMap.RootNode Propriété

Définition

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.

S’applique à

Voir aussi