SiteMap.RootNode Propriedade

Definição

Obtém um objeto SiteMapNode que representa a página de nível superior da estrutura de navegação do 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

Valor da propriedade

Um SiteMapNode que representa a página de nível superior da estrutura de navegação do site; caso contrário, null se a filtragem de segurança estiver habilitada e o nó não puder ser retornado para o usuário atual.

Exceções

O recurso de mapa do site não está habilitado.

- ou -

O RootNode é resolvido para null, o que ocorre se a filtragem de segurança está habilitada e o nó raiz não está visível para o usuário atual.

O provedor padrão especificado na configuração não existe.

O recurso tem suporte apenas quando está em execução em Confiança baixa ou níveis superiores.

Exemplos

O exemplo de código a seguir demonstra como usar a RootNode propriedade para recuperar o SiteMapNode objeto que representa o nó raiz do site, independentemente do local atual na hierarquia de páginas.

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

Comentários

A SiteMap classe recupera a RootNode propriedade solicitando-a do provedor. Se houver uma hierarquia de provedor, a SiteMap classe recuperará o nó raiz do provedor raiz na hierarquia. Para acessar o nó raiz do provedor padrão, chame a Provider propriedade , que recupera o provedor padrão e sua RootNode propriedade.

O XmlSiteMapProvider objeto , que é o provedor padrão para a SiteMap classe , dá suporte a apenas um RootNode.

Se você implementar sua própria SiteMapProvider classe e substituir a propriedade abstrata RootNode , deverá fornecer sua própria implementação para acompanhar a RootNode propriedade da SiteMapNode instância.

O nó raiz deve estar visível para todos os usuários, por design. Se o nó raiz não estiver visível para todos os usuários quando o corte de segurança estiver habilitado, acessar a RootNode propriedade poderá resultar em uma exceção InvalidOperationException .

Aplica-se a

Confira também