ASP.Net  »  Guide  »  Guida ASP.NET AJAX 

La composizione del framework



In questa lezione cerchiamo di approfondire la struttura di ASP.NET AJAX considerando i due framework che costituiscono in effetti le due anime di una sola infrastruttura, ma che è opportuno considerare separatamente.

La parte client non necessita obbligatoriamente di Visual Studio e del Framework .NET, poichè si tratta di pure librerie JavaScript. La parte server, invece, comprende una serie di controlli Server che riprendono quelli già presenti in ASP.NET, ma con la caratteristica di gestire le chiamate tramite AJAX invece che col classico PostBack. Questo Framework deve essere obbligatoriamente usato tramite Framework .NET.

Questa separazione nasce da precise esigenze degli sviluppatori. La necessità di avere un linguaggio compatibile con la maggior parte dei Browser, standard e di facile utilizzo, ma allo stesso tempo orientato agli oggetti ha fatto inevitabilmente cadere la scelta su un JavaScript espanso con nuove classi che ne garantissero la maggiore compatibilità possibile.

Oltre a questa estensione di JavaScript, nelle versioni di sviluppo è stato introdotto un secondo linguaggio all'interno del "Framework Client",XML-SCRIPT. Un liguaggio di tipo dichiarativo che nella versione definitiva viene in gran parte soppresso in favore di JavaScript.

Questo linguaggio è utilizzato per definire operazioni di uso comune, senza l'ausilio di un linguaggio di scripting. XML-SCRIPT viene infatti interpretato dal Framework Client che traduce le dichiarazione fatta in XML-SCRIPT nelle corrispondenti istruzioni JavaScript.

Con questo linguaggio possiamo assegnare dei processi di Binding, o di Validazione in modo simile a quanto facciamo con i classici tag lato server.

Il secondo Framework che costituisce il vero e proprio pilastro di ASP.NET AJAX è il costituito dalle classi server. Come abbiamo detto, questa infrastruttura contiene una serie di controlli simili a quelli già presenti per ASP.NET, ma evoluti per poter interagire con AJAX. Questi controlli ci consentono di evitare di scrivere codice JavaScript e di sviluppare tutta la logica di programmazione esclusivamente nella parte server.

Cominciamo ad esaminare da subito quali sono quali sono i namespace usati sia lato client (JavaScript) che lato server (C#, VB)

Namespace lato Server
System.Web.ConfigurationCon questo namespace abbiamo accesso alla configurazione della nostra applicazione ASP.NET, di conseguenza abbiamo accesso anche alla parte che riguarda Ajax
System.Web.HandlersIn questo namespace sono presenti gli Handler Http che intercettano le richieste.
System.Web.Script.SerializationCon questo namespace si puo' operare nella serializzazione e deserializzazione dei contenuti, tramite la tecnologia JSON.
System.Web.Script.ServicesPersonalizzazione per l' esecuzione dei WebServices tramite Ajax.
System.Web.UIChiaramente con questo ed il successivo namespace, siamo in grado di accedere ai contenuti, e non solo, dei controlli presenti nella pagina.
System.Web.UI.DesignIn questo caso ci aiutano a estendere le funzioni di render della pagina e dei controlli presenti.
Namespace lato Client
GlobalQuesto namespace espande la base del normale JavaScript per rendere quest' ultimo piu' lineare con lo standard di codice usato da ASP.NET. Vi sono quindi modifiche ad oggetti quali Array, stringhe e quant'altro
SysQuesto namespace puo' essere visto come il System di NET, è la madre dei namespace JavaScript esposti di Ajax
Sys.NetPresenta i tipi per la comunicazione lato CLient Server
Sys.UICome per il lato, server, il suffisso UI (User Interface ci fa intuire la funzionalità di questo namespace
Sys.WebFormsMolto utile, il namespace che contribuisce al rendering parziale delle pagine ASP.NET AJAX

Nel framework di base sono presenti i controlli più importanti come UpdatePanel e UpdateProgess ma esistono estensioni con controlli più avanzati come l'ASP.NET AJAX Control Toolkit di Microsoft o altri progetti opensource basati su ASP.NET AJAX reperibili su CodePlex.

Ultimi articoli ASP.Net

LINQ e la trappola della 'deferred execution'

Una "trappola" in cui si può incappare utilizzando il risultato di...

C#, le Custom Type Conversion

Conversioni personalizzate tra classi, creare metodi particolari per...

Introduzione a Entity Framework

Il framework ORM messo a disposizione da .NET

Repeater: visualizzare un feed RSS

Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath()...

Repeater, il server control "semplice"

Cos'è e come funziona il controllo Repeater

Altri articoli

Guide ASP.Net

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...

Guida Visual Studio 2010

L'ambiente di sviluppo di riferimento per sviluppare applicazioni su...

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