Questa sera, complice un caldo meno afoso degli altri giorni, sono rimasto a casa a spippolare con ORCAS e le ASP.NET Futures ed in particolare con il mio fidato AJAX.
La vera novità che ho notato è stata l'introduzione del controllo History lasciato alle mani sapienti del maestro Nikhil Khotari fino a maggio ed ora integrato realmente in ASP.NET AJAX.
Il controllo parte da un concetto molto semplice: si piazza un IFrame nascosto nella pagina e si gioca con questo per modificare l'url della pagina ad ogni postback asincrono per garantire che si attivi l'history del browser e che la pagina sia anche bookmarkabile (italiondo puro questo termine :).
Alla fine di un postback asincrono l'url diventa così: http://localhost:1089/Page.aspx#%7B%22__s%22%3A%7B%22key%22%3A%223-%20780%22%7D%7D
Ad ogni postback ci dobbiamo preoccupare noi di impostare i dati necessari a riportare la pagina nello stato in cui si trova qualora l'utente premesse back. Alla pressione del tasto back, dobbiamo preocuparci di recuperare lo stato ed utilizzarlo per rivalorizzare la form correttamente.
Ma lo stato dove viene memorizzato? Questa è la domanda ovvia e la risposta è altrettanto ovvia: "nello stringone dopo il carattere "#" nell'url". Questa soluzione mi fa porre una domanda: "Ma con quantità di dati abbastanza grandi, serializzarli in una stringa e poi deserializzarli nella form, non è un dispendio, in alcuni casi enorme, di tempo, banda e codice?" Basta pensare alle pagine con tantissimi controlli per capire che ripristinarne lo stato da una stringa è un'operazione abbastanza noiosa e soggetta ad errori.
Inoltre, non ho visto uno straccio di punto di estendibilità il che mi fa pensare che salvare lo stato in un altro store non sia attualmete supportato.
A parte questo appunto, il controllo mi sembra ben fatto. Ora con l'UpdatePanel, l'UpdateProgress modale che tra poco proverò a sottomettere all'AjaxControlToolkit, e l'History si ha veramente la suite completa per rendere le applicazioni AJAX - Style veramente veramente complete.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Entity Framework è lento! mmmmh, probabilmente sei tu che lo stai usando male!, il 7 ottobre 2022 alle 10:55
- Cosa penso di ASP.NET vNext, il 3 settembre 2014 alle 09:00
- E così AngularJS e DurandalJS convergono..., il 7 maggio 2014 alle 11:51
- Usare fiddler per simulare le risposte da un servizio, il 28 ottobre 2013 alle 08:00
- Tip: cosa fare quando Entity Framework Code-First Migrations smette di funzionare, il 18 gennaio 2013 alle 11:04
- Visual Studio 11 beta: le novità di Entity Framework 5.0 e WCF 4.5, il 2 marzo 2012 alle 23:08