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...
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
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Stampa
Download
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
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?
Continua »»» | Rispondi »»»