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
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
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.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |