I provider in ASP.NET 2.0

di: Sosan Abou Assalè     14 Marzo 2007

Aggiungiamo alla classe il metodo GetRootNodeCore(). Questo metodo restituisce il nodo principale che gestisce tutti i sotto nodi e, permette, il caricamento della struttura presente nel provider.

Listato 7. Il Metodo GetRootNode()

  protected override SiteMapNode GetRootNodeCore()
  {
    BuildSiteMap ();
    return root;
  }

Ora, per poter utilizzare il provider dobbiamo apportare delle modifiche al "web.config".Apriamo il file e ci assicuriamo di aver inserito e configurato in modo corretto la connessione al database.

Listato 8. La stringa di connessione al database

<connectionStrings>
  <add name="miaconn"
    connectionString="Data Source=.\SQLEXPRESS;
        AttachDbFilename=C:\progetti\www.html.it\WebProviders\App_Data\Database.mdf;
        Integrated Security=True; User Instance=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

All'interno della sezione <system.web> del web.config, aggiungiamo il nostro provider nella sezione <siteMap> e lo impostiamo come provider di default.

Listato 8. La sezione <siteMap> all'interno del web.config

<siteMap defaultProvider="MySiteMapProvider" enabled="true">
  <providers>
    <add name="MySiteMapProvider"
          type="MySiteMapProvider" securityTrimmingEnabled="true"
          connectionStringName="Database"/>
  </providers>
</siteMap>

Passiamo ora, al test della nostra applicazione. Aggiungiamo al progetto una pagina e la chiamiamo "Default.aspx". Dalla "casella degli strumenti" trasciniamo nella pagina l'oggetto SiteMapDataSource e l'oggetto TreeView

Figura 4. Creare la pagina per il test

Creare la pagina per il test

Impostiamo quindi le proprietà dei due oggetti.

Listato 9. Le proprietà dei due oggetti

<form id="form1" runat="server">
<asp:SiteMapDataSource ID="siteMapDataSource" runat="server" />
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="siteMapDataSource" /> </form>

Compiliamo ed eseguiamo l'applicazione. Apparirà la schermata con i dati della mappa del sito letti dalla tabella del database.

Figura 5. Risultato dell'esecuzione

Risultato dell'esecuzione

Conclusioni

In questo articolo abbiamo prima introdotto il modello basato sui provider e poi abbiamo visto nel dettaglio, come creare un Site Map Provider personalizzato da utilizzare come provider di default per la creazione della struttura di navigazione del nostro sito web prelevando i dati da un database Ms SQL Server.

L'esempio vuole essere un punto di partenza per sperimentare questa tecnica nella personalizzazione dei vari provider inclusi nel sistema quando questi non risultano sufficienti a soddisfare le proprie esigenze.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto