Visão geral sobre navegação em sites do ASP.NET

Você pode usar recursos de navegação em sites do ASP.NET para fornecer uma maneira consistente de os usuários navegarem em seu site.Conforme o site cresce, e você move páginas ao redor do site, pode se tornar difícil gerenciar todos os links.Navegação em sites do ASP.NET permite que você armazene vínculos para todas as páginas em um local central e processe os links em listas ou menus de navegação em cada página, incluindo um controle de servidor Web específico.

Para criar uma solução de navegação consistente, facilmente gerenciado para seu site, você pode usar a navegação em sites do ASP.NET.Navegação em sites do ASP.NET oferece os seguintes recursos:

  • Mapas de siteVocê pode usar um mapa do site para descrever a estrutura lógica do seu site.Em seguida, você pode gerenciar navegação de página, modificando o mapa do site conforme páginas são adicionadas ou removidas, em vez de modificar hiperlinks em todas as suas páginas da Web.

  • Controles ASP.NET Você pode usar os controles do ASP.NET para exibir menus de navegação em páginas da Web.Os menus de navegação são baseados na mapa do site.

  • Controle através de programação Você pode trabalhar com navegação em sites do ASP.NET no código para criar controles de navegação personalizados ou para modificar o local de informação que será exibido em um menu de navegação.

  • Regras de acesso Você pode configurar regras de acesso que exibam ou ocultem um link no menu de navegação.

  • Provedores de mapa de site personalizados Você pode criar provedores de mapa de site personalizados que permitem que você trabalhe com seu próprio back-end de mapa de site (por exemplo, um banco de dados onde você armazena informações de vínculo) e conectar seu provedor ao sistema de navegação de sites de ASP.NET.

Como a navegação do site funciona

Com a navegação de sites do ASP.NET, você descreve o layout do seu site como uma hierarquia.Por exemplo, uma loja de computadores fictícia on-line pode ter um site composto de oito páginas, que são apresentadas de maneira a seguir.

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

Para usar navegação do site, inicie criando um mapa do site, ou uma representação do seu site.Você pode descrever a hierarquia do seu site em um arquivo XML, mas outras opções também estão disponíveis.Para mais informações e um exemplo, consulte Mapas do Site do ASP.NET.

Depois de criar um mapa do site, você pode exibir a estrutura de navegação em um página ASP.NET usando um controle de navegação de site.Para um exemplo, consulte Como: Adicionar navegação simples.

Processo de Carregamento do Mapa do Site

O provedor de mapa de sites padrão do ASP.NET carrega dados de mapa de sites como um documento XML e armazena como dados estáticos quando o aplicativo inicia.Um arquivo de mapa de sites excessivamente grande pode usar muita memória e potência da CPU em tempo de carregamento.Os recursos de navegação do site ASP.NET dependem das notificações de arquivo para manter dados de navegação atualizados.Quando um arquivo de mapa de site for alterado, o ASP.NET recarrega os dados de mapa de sites.Certifique-se de configurar qualquer software de verificação de vírus para que ele não modifique arquivos de mapa de sites.Para obter mais informações, consulte Tornando navegação em sites do ASP.NET seguro.

Controles de navegação sites

Criar um mapa do site que reflita a estrutura do seu site é uma parte do sistema de navegação de sites do ASP.NET.A outra parte é exibir a estrutura de navegação em páginas da Web ASP.NET de modo que os usuários podem mover-se facilmente ao redor do site.Você pode facilmente criar navegação em suas páginas usando os seguintes controles de navegação de sites do ASP.NET:

  • SiteMapPath Este controle exibe um caminho de navegação, que é também conhecido como um breadcrumb ou eyebrow, que mostra aos usuários a localização da página atual e links como um caminho para voltar à página inicial do site da Web.O controle oferece muitas opções para personalizar a aparência dos links.

  • TreeView Este controle exibe um estrutura de árvore, ou menu, que os usuários podem atravessar para acessar páginas diferentes no seu site.Um nó que contém nós filho pode ser expandido ou recolhido clicando nele.

  • Menu Este controle exibe um menu expansível que os usuários podem atravessar para acessar páginas diferentes no seu site.Um nó que contenha nós filho será expandido quando o cursor focaliza o item do menu.

Se você adicionar um controle SiteMapPath para a página de treinamento da loja de computadores on-line no exemplo anterior, o controle SiteMapPath exibirá algo parecido com o seguinte, com Página Inicial e Serviços processados como hiperlinks:

Página Inicial > Serviços > Treinamento

você pode utilizar o controle SiteMapPath para criar navegação na página sem código e sem ligação de dados explícita.O controle pode ler e devolver informações sobre o mapa da pagina automaticamente.No entanto, se necessário, você também pode personalizar o controle SiteMapPath com código.Para um exemplo, consulte Como: Modificar programaticamente Site Map Nodes in memória.

O controle SiteMapPath permite ao usuário navegar para trás da página atual para páginas que estão acima na hierarquia da página.No entanto, o controle SiteMapPath não permite que você navegue para frente da página atual para outra página mais profunda na hierarquia.O controle SiteMapPath é útil em aplicativos de grupo de notícias ou fóruns de discussão quando os usuários desejam ver o caminho para o artigo que eles estão navegando.

Com os controles TreeView ou Menu, os usuários podem abrir nós e navegar diretamente para uma página específica.Esses controles não diretamente leem o mapa do site, como o controle SiteMapPath.Em vez disso, você adiciona um controle SiteMapDataSource a uma página que possa ler o mapa do site.Em seguida, você vincula o controle TreeView ou Menu para o controle SiteMapDataSource, resultando no mapa do site que está sendo processado na página.O controle TreeView exibirá algo parecido com o seguinte:

- Home

   - Serviços

      + Treinamento

Observação:

Uma maneira fácil exibir os controles SiteMapPath, TreeView ou Menu em todas as páginas do seu site é criar um página mestra e adicionar os controles à página.Para obter mais informações, consulte Visão Geral de Páginas Mestras ASP.NET.

API de navegação de site

Você pode usar controles de navegação para adicionar navegação de site às suas páginas com pouco ou nenhum código, mas você também pode trabalhar com navegação de site programando.Quando o seu aplicativo Web é executado, o ASP.NET expõe um objeto SiteMap que reflete a estrutura do mapa do site.Todos os membros do objeto SiteMap são estáticos.O objeto SiteMap, por sua vez, expõe uma coleção de objetos SiteMapNode que contêm propriedades para cada nó no mapa.(Quando você usa o controle SiteMapPath, o controle funciona com os objetos SiteMap e SiteMapNode para processar os links apropriados automaticamente.)

Você pode usar os objetos SiteMap, SiteMapNode e SiteMapProvider no seu próprio código para atravessar a estrutura do mapa de sites ou criar um controle personalizado para exibir dados do mapa de sites.Você não pode gravar no mapa do site, mas você pode alterar nós do mapa de site na instância do objeto.Para obter mais informações, consulte Como: Modificar programaticamente Site Map Nodes in memória ou Como: Programaticamente enumerar nós de mapas do site.

Relações entre componentes de navegação de sites

A ilustração a seguir mostra as relações entre os componentes de navegação de sites do ASP.NET.

Consulte também

Tarefas

Como: Programaticamente enumerar nós de mapas do site

Conceitos

Mapas do Site do ASP.NET

Tornando navegação em sites do ASP.NET seguro

Proteção de acesso a dados

Outros recursos

Segurança de aplicativos ASP.NET em ambientes hospedados