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...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Javascript, Update Panel e gli eventi, il 17 luglio 2007 alle 00:38
- App_Offline.htm e la sua quasi inutilità, il 22 dicembre 2006 alle 16:22
- ATLAS è molto meglio di ASP.NET AJAX, il 28 ottobre 2006 alle 12:53
- Attributi e Validazione del querystrig, il 3 settembre 2006 alle 23:56
- Un elogio ai VirtualPathProvider, il 10 giugno 2006 alle 11:25