DataBinding con ATLAS

La semplicità con cui ATLAS risolve alcune cose è veramente disarmante. Il databinding è tra queste.

Prendiamo questo scenario: una griglia da riempire, n° textbox in cui inserire i dati con cui popolare la griglia. Un bottone per tramutare i dati nei textbox in una nuova riga nella griglia.
Abbiamo ben 3 possibilità tecnologicamente diverse, ognuna con al suo interno altre differenze. Prendiamole in esame:
1. UpdatePanel (ovvero, basta poco che ce vo?) Questa soluzione prevede lo sforzo minimo, cioè circondare i nostri controlli con un bell'UpdatePanel, effettuare la programmazione lato server e lasciare ad ATLAS il compito di sopprimere il postback sostituendolo con una chiamata asincrona. Bello.... Ma? Ma si consumano risorse abbastanza inutilmente, devo solo popolare una griglia e posso farlo benissimo lato client. Anche se l'impressione è che la pagina non viene postata al server, in realtà le informazioni che viaggiano sono le stesse di un postback reale (anche di più a volte). In definitiva, soluzione da scartare a priori a meno che non si debba mettere mano a codice esistente e non si ha molto tempo a disposizione.

2. DataBinding tramite DataService. Questa soluzione prevede l'uso di un WebService speciale denominato DataService che ha dei metodi che vengono richiamati quando si inserisce aggiorna o elimina un record nella griglia. il Binding tra griglia e dati inseriti viene fatto a mano sul client sfruttando una ListView. Bello... Però? Però i dataservice sono un'entità a parte, non facilmente integrabili con l'aggiornamento di altri controlli che possoono essere sulla pagina e che devono popolare il db in maniera transazionale.

3. DataBinding manuale. Non molti lo sanno, ma ATLAS ha una classe client chiamata DataTable e che ha le stesse funzionalità di quella omonima lato server. Il nostro codice popola la DataTable che a sua volta è collegata alla griglia (ListView) che quindi si aggiorna. Al momento di salvare i dati, si serializza la DataTable e sul server la si deserializza così da ottenere una lista che a questo punto è già nella pagina ed è facilmente integrabile nella gestione transazinale degli aggiornamenti.

Io adoro la terza soluzione perchè con poco codice mi da controllo completo e risultato perfetto. Inoltre, se comparata ad una soluzione simile senza ATLAS il risparmio di tempo è incredibile.

Stay Tuned...

Nella stessa categoria

Commenti
crixo scrive:
DataBinding con ATLAS

stando alla release di maggio non era possibile "postare" un datatable client in quanto non veniva correttamente deserializzato
http://aspadvice.com/blogs/garbin/archive/2006/03/05/15591.aspx
leggendo il tuo post direi che e' stato risolto nelle successive release?
non ho ancora fatto prove... me lo confermi?
04/10/2006 ore 22.41 | 1 risposta
»»»» SM15455 scrive:
Re: DataBinding con ATLAS

Ciao,

onestamente io l'ho fatto a mano deserializzando in un campo hidden e riprendendolo lato server seializzandolo in una datatable. Non ho usato nulla di predisposto perchè non sapevo ci fosse, comunque gli darò un'occhiata.

Byez
05/10/2006 ore 1.08

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - SMWorld.NET - Il blog di Stefano Mostarda

TagCloud
BLOG INFO
  • Post: 119
  • Commenti: 68
  • TrackBacks: 19
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML

MVP
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA