SiteMap.RootNode SiteMap.RootNode SiteMap.RootNode SiteMap.RootNode Property

Definizione

Ottiene un oggetto SiteMapNode che rappresenta la pagina di primo livello della struttura di navigazione nel sito.Gets a SiteMapNode object that represents the top-level page of the navigation structure for the site.

public:
 static property System::Web::SiteMapNode ^ RootNode { System::Web::SiteMapNode ^ get(); };
public static System.Web.SiteMapNode RootNode { get; }
member this.RootNode : System.Web.SiteMapNode
Public Shared ReadOnly Property RootNode As SiteMapNode

Valore della proprietà

Oggetto SiteMapNode che rappresenta la pagina di livello superiore della struttura di navigazione nel sito; in caso contrario, null, se è attivata la rimozione di sicurezza e il nodo non può essere restituito all'utente corrente.A SiteMapNode that represents the top-level page of the site's navigation structure; otherwise, null, if security trimming is enabled and the node cannot be returned to the current user.

Eccezioni

La funzionalità relativa alla mappa del sito non è attivata.The site map feature is not enabled.

In alternativa-or- L'elemento RootNode si risolve in null, che si verifica se è attivata la rimozione di sicurezza e il nodo radice non è visibile all'utente corrente.The RootNode resolves to null, which occurs if security trimming is enabled and the root node is not visible to the current user.

Il provider predefinito specificato nella configurazione non esiste.The default provider specified in the configuration does not exist.

La funzionalità è supportata solo quando in esecuzione in modalità di attendibilità bassa o in una modalità di livello superiore.The feature is supported only when running in Low trust or higher.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato RootNode come utilizzare la proprietà SiteMapNode per recuperare l'oggetto che rappresenta il nodo radice del sito, indipendentemente dalla posizione corrente nella gerarchia di pagine.The following code example demonstrates how to use the RootNode property to retrieve the SiteMapNode object that represents the root node of the site, regardless of the current location in the page hierarchy.

<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>

Commenti

La SiteMap classe recupera la RootNode proprietà richiedendo il provider.The SiteMap class retrieves the RootNode property by requesting it from the provider. Se è presente una gerarchia di provider, SiteMap la classe recupera il nodo radice del provider radice nella gerarchia.If there is a provider hierarchy, the SiteMap class retrieves the root node of the root provider in the hierarchy. Per accedere al nodo radice del provider predefinito, chiamare la Provider proprietà, che recupera sia il provider predefinito che la relativa RootNode proprietà.To access the root node of the default provider, call the Provider property, which retrieves both the default provider and its RootNode property.

L' XmlSiteMapProvider oggetto, che è il provider predefinito per la SiteMap classe, ne supporta solo RootNodeuno.The XmlSiteMapProvider object, which is the default provider for the SiteMap class, supports only one RootNode.

Se si implementa una classe SiteMapProvider personalizzata ed è necessario eseguire RootNode l'override della proprietà astratta, è necessario fornire un'implementazione RootNode personalizzata per SiteMapNode tenere traccia della proprietà dell'istanza.If you implement your own SiteMapProvider class and override the abstract RootNode property, you must provide your own implementation to track the RootNode property of the SiteMapNode instance.

Il nodo radice deve essere visibile a tutti gli utenti, in base alla progettazione.The root node must be visible to all users, by design. Se il nodo radice non è visibile a tutti gli utenti quando è abilitata la rimozione di sicurezza RootNode , l'accesso alla proprietà InvalidOperationException potrebbe generare un'eccezione.If the root node is not visible to all users when security trimming is enabled, accessing the RootNode property might result in an InvalidOperationException exception.

Si applica a

Vedi anche