Condividi tramite


Procedura: implementare i provider della mappa del sito ASP.NET

Aggiornamento: novembre 2007

In questo argomento viene descritto come creare provider di mappa del sito ASP.NET e configurare un'applicazione ASP.NET per l'utilizzo di un provider.

Nella tabella riportata di seguito sono elencati gli argomenti illustrati in questa sezione, che includono il codice per due esempi di provider di mappa del sito scritti in Visual Basic e C#. Uno dei provider di esempio utilizza il provider di dati .NET Framework per ODBC per la connessione a un'origine dati ODBC, mentre l'altro utilizza come origine dati un database Microsoft Access.

Esempio di provider della mappa del sito di testo

Viene illustrato un provider completo della mappa del sito basato su testo.

Esempio di provider di mappa del sito Access

Viene illustrato un provider completo della mappa del sito basato su Access.

Per generare un provider della mappa del sito

  • Inserire il codice sorgente nella directory App_Code dell'applicazione.

    Nota:

    Se nella directory App_Code dell'applicazione esiste già del codice sorgente, è necessario aggiungere la versione del provider scritta nello stesso linguaggio del codice esistente nella directory.

    Quando viene richiesta l'applicazione, il provider verrà compilato da ASP.NET. Per ulteriori informazioni, vedere Cartelle di codice condivise nei siti Web ASP.NET.

    --oppure--

    In alternativa, è possibile compilare il provider della mappa del sito come libreria e inserirlo nella directory Bin dell'applicazione Web oppure assegnare un nome sicuro al provider e inserirlo nella Global Assembly Cache (GAC). Il comando riportato di seguito mostra, ad esempio, come compilare un provider della mappa del sito di esempio utilizzando il compilatore della riga di 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
    

Per utilizzare il provider della mappa del sito in un'applicazione ASP.NET

  1. Configurare l'applicazione Web per l'utilizzo del provider della mappa del sito aggiungendo quest'ultimo al file Web.config.

  2. Aggiungere dei controlli che utilizzano il provider della mappa del sito. Dopo che il file Web.config è stato modificato e il provider compilato, il provider carica i dati di spostamento nell'istanza della classe SiteMap presente in memoria. A questo punto i dati di spostamento possono essere utilizzati da componenti dell'infrastruttura della mappa del sito, quali i controlli SiteMapPath, TreeView e Menu, per visualizzare informazioni relative alla mappa del sito per gli utenti. Nell'esempio di codice riportato di seguito vengono utilizzati tutti e tre i controlli in una pagina 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>
    

Vedere anche

Concetti

Implementazione dei provider di mappa del sito ASP.NET

Cenni preliminari sugli spostamenti all'interno dei siti ASP.NET

Protezione del sistema di spostamento all'interno dei siti ASP.NET

Protezione dell'accesso ai dati

Altre risorse

Protezione delle applicazioni ASP.NET in ambienti host