mercoledì 21 febbraio 2007

ASP.NET AJAX e il nuovo UPDATE PANEL

Da qualche settimana è ormai uscita la versione definitiva della piattaforma AJAX di Microsoft precedentemente conosciuta come ATLAS e ora rinominata ASP.NET AJAX.

E' possibile scaricare gratuitamente il nuovo framework da questo indirizzo e nelle stesse pagine è possibile trovare tutta la documentazione e gli esempi necessari per iniziare ad utilizzare questa nuova tecnologia che, tra le altre, dovrebbe essere uno dei fondamenti del WEB 2.0.

A scanso di equivoci tengo a precisare che AJAX non è una tecnologia Microsoft ma il nome con cui comunemente si indicano quelle tecnologie che mettono insieme codice server-side, javascript e dhtml al fine di migliorare l'esperienza di navigazione dell'utente finale. Esistono infatti altri pacchetti di classi che permettono di aggiungere funzionalità "AJAX" alle proprie pagine tra cui un framework sviluppato da Google e scaricabile da qui e un altro, forse meno semplice ma comunque molto interessante rintracciabile qui: http://script.aculo.us/.

In questo post vorrei parlare molto semplicemente di una delle principali funzioni alla base di AJAX e consistente nella possibilità di effettuare il rendering parziale di una pagina con contenuti generati lato server, senza la necessità di ricaricare l'intera pagina e quindi ottenendo una interfaccia grafica più simile a quella di un programma stand alone piuttosto che ad un sito.

Per ottenere questo risultato con il framework ASP.NET AJAX è sufficiente utilizzare il codice sottostante:


<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="main">
<ContentTemplate>
<asp:UpdateProgress runat="server" ID="myupdate">
<ProgressTemplate>
Invio dati in corso
</ProgressTemplate>
</asp:UpdateProgress>
<div>
Contenuto da visualizzare
</div>
</ContentTemplate>
</asp:UpdatePanel>


La prima riga, quella relativa allo scritpManager è obbligatoria, serve per far caricare alla pagina le estensioni AJAX. Il controllo UpdatePanel come è facile intuire è quello che consente il partial rendering della pagina e in particolare relativamente al contenuto del tag ContentTemplate. Questi sono gli elementi necessari per far funzionare la pagina.

All'UpdatePanel ho aggiunto un controllo molto interessante che si chiama UpdateProgress che ha la funzione di mostrare un messaggio (che può chiaramente comprendere anche immagini o qualsiasi altro elemnto HTML) durante il postback della pagina per rendere evidente all'utente che la pagina sta venendo elaborata.

Nessun commento: