DataBinding con ATLAS

di Stefano Mostarda, in .Net 2.0,

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

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese