Partager via


SiteMap.RootNode Propriété

Définition

Obtient un objet SiteMapNode 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é

SiteMapNode qui représente la page de niveau supérieur de la structure de navigation du site ; sinon, null, si l'ajustement de la sécurité est activé et si le nœud ne peut pas être retourné à l'utilisateur actuel.

Exceptions

La fonction de plan de site n'est pas activée.

- ou -

Le RootNode correspond à la valeur null. Ce cas se produit si l'ajustement de la sécurité est activé et si le nœud racine est masqué à l'utilisateur actuel.

Le fournisseur par défaut spécifié dans la configuration est introuvable.

La fonctionnalité est prise en charge uniquement lors de l'exécution en mode Confiance basse ou dans un mode supérieur.

Exemples

L’exemple de code suivant montre comment utiliser la RootNode propriété pour récupérer l’objet SiteMapNode qui représente le nœud racine du site, quel que soit l’emplacement actuel dans la hiérarchie des 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 propriété en la RootNode demandant au 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 à la fois 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 par tous les utilisateurs lorsque la réduction de la sécurité est activée, l’accès à la RootNode propriété peut entraîner une InvalidOperationException exception.

S’applique à

Voir aussi