Compartilhar via


Como: Implementar provedores de mapas de site ASP.NET

Este tópico descreve como você pode cria provedores de mapa de site ASP.NET e configura um aplicativo ASP.NET para usar um provedor de mapa de site.

A tabela a seguir lista os tópicos acompanhados, que incluem o código para dois provedores de mapa de site de exemplo escritos em Visual Basic e C#.Um dos provedores exemplo usa o provedor de dados ODBC do .NET Framework para conectar-se a uma fonte de dados ODBC.O outro exemplo utiliza um banco de dados do Microsoft Access como sua fonte de dados.

Exemplo de Provedor de Mapa do Site do Access

Ilustra um provedor completo de mapa de site baseado em texto.

Exemplo de Provedor de Mapa do Site do Access

Ilustra um provedor completo de mapa de site baseado em Access.

Para criar um provedor de mapa de site

  • Coloque o código-fonte no diretório App_Code do seu aplicativo.

    Observação:

    Se você já tiver código-fonte no diretório App_Code do seu aplicativo, você deve adicionar a versão do provedor de mapa de site que está escrito na mesma linguagem que o código existente no diretório.

    O provedor será compilado pelo ASP.NET quando seu aplicativo for solicitado.Para obter mais informações, consulte Pastas de código compartilhado em sites da Web ASP.NET.

    -Ou--

    Como alternativa, compile o provedor de mapa de site como uma biblioteca e coloque-o no diretório Bin do seu aplicativo da Web, ou altamente denomine-o e coloque-o no cache global de assemblies (GAC).Por exemplo, o comando a seguir mostra como você pode compilar um provedor de mapa de site usando o compilador de linha de comando.

    vbc /out:<example_name>.dll /t:library <example_name>.vb /r:System.Web.dll /r:System.Configuration.dll
    
    csc /out:<example_name>.dll /t:library <example_name>.cs /r:System.Web.dll /r:System.Configuration.dll
    

Para usar o provedor de mapa de sites em um aplicativo ASP.NET

  1. Configure seu aplicativo da Web para usar o provedor de mapa de site, adicionando o provedor ao seu arquivo Web.config.

  2. Adicione controles que usam o provedor de mapa de site.Após o arquivo Web.config ser alterado e o provedor ser compilado, o provedor carrega dados de navegação para a instância da classe SiteMap que está na memória.Agora os dados de navegação podem ser usados por componentes da infraestrutura de mapa de site — como os controles SiteMapPath,TreeView e Menu — para exibir informações de mapa de sites de usuários.O código exemplo a seguir usa todos os três controles em uma página ASP.NET.

    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script >
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" >
      <title>Simple Navigation Controls</title>
    </head>
    <body>
      <form id="form1" >
      <div>
    
      <h2>Using SiteMapPath</h2>
      <asp:SiteMapPath ID="SiteMapPath1" Runat="server">
      </asp:SiteMapPath>
    
    
      <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
    
      <h2>Using TreeView</h2>
      <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1">
      </asp:TreeView>
    
      <h2>Using Menu</h2>
      <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1">
      </asp:Menu>
    
      <h2>Using a Horizontal Menu</h2>
      <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
        Orientation="Horizontal" 
        StaticDisplayLevels="2" >
      </asp:Menu>
    
      </div>
      </form>
    </body>
    </html>
    
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script >
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head >
      <title>Simple Navigation Controls</title>
    </head>
    <body>
      <form id="form1" >
      <div>
    
      <h2>Using SiteMapPath</h2>
      <asp:SiteMapPath ID="SiteMapPath1" Runat="server">
      </asp:SiteMapPath>
    
    
      <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
    
      <h2>Using TreeView</h2>
      <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1">
      </asp:TreeView>
    
      <h2>Using Menu</h2>
      <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1">
      </asp:Menu>
    
      <h2>Using a Horizontal Menu</h2>
      <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
        Orientation="Horizontal" 
        StaticDisplayLevels="2" >
      </asp:Menu>
    
      </div>
      </form>
    </body>
    </html>
    

Consulte também

Conceitos

Implementando provedores site-Map em ASP.NET

Visão geral sobre navegação em sites 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