ASP .NET 4.0 #3 Ciò che non è cambiato

ASP .NET 4.0 è ormai alle porte, con la versione beta è possibile scoprire le novità  rispetto alla versione precedente, e non sono certamente poche, ma a livello di controlli lato server ce ne sono alcuni praticamente immutati rispetto alle precedenti versioni. Mi riferisco ad esempio al controllo Http File Upload, rimasto identico nelle varie versioni di ASP .NET che si sono succedute. Questo controllo soffre di qualche problema e non è certo il massimo in ottica web 2.0, ovvero su siti dove è richiesto una elevata user experience.

A meno di non utilizzare un controllo di terze parti probabilmente a pagamento, occorre fare i conti con il look del controllo rimasto identico nel tempo, con l’assenza di funzionalità  oggi richieste quali ad esempio la barra di progressione dell’upload in corso, e soprattutto con un fastidioso comportamento “by design”, ovvero la perdita del contenuto (il nome completo di percorso del file scelto) ad ogni postback della pagina; quest’ultima caratteristica è resa necessaria da motivi di sicurezza.

Se la pagina dispone di altri controlli che generano un postback, es. una dropdownlist, l’unico escamotage è quello di rendere il controllo File Upload l’ultimo controllo che genera postback in ordine di visualizzazione, in modo da invogliare l’utente ad interagire per ultimo con esso. In caso contrario, un postback della pagina provocherà  la perdita del suo contenuto, cioè del nome del file scelto, ed ovviamente obbligherà  l’utente a scegliere nuovamente il file da inviare.

5 thoughts on “ASP .NET 4.0 #3 Ciò che non è cambiato

  1. Ciao, devo implementare una pagina di upload personalizzata di file anche molto pesanti per il ns sito.<br />Leggendoti, mi chiedo: visto che alla fine mi sembra di capire che &quot;sconsigli&quot; il controllo incluso in asp.net cosa ti viene in mente di alternativa (anche a pagamento) tra quelli disponibili? Hai qualche esperienza in merito?<br /><br />Grazie<br />Paolo

  2. Ciao Paolo,<br />non &#232; che sconsiglio il controllo FileUpload. Per semplici scenari senza grosse pretese va pi&#249; che bene.<br /><br />Il problema &#232; che non ha un &quot;look and feel&quot; personalizzabile e che non &#232; possibile operare in asincrono con un adeguato feedback all’utente.<br /><br />Per quanto concerne i files di grosse dimensioni che io sappia non &#232; possibile effettuare l’upload di file con dimensioni maggiori di 2 Gb, questo a causa di una limitazione di IIS.<br /><br />Non &#232; inoltre possibile gestire l’upload a livello programmatico, ovvero settando semplicemente il nome del file senza farlo scegliere all’utente. Questo per&#242; &#232; dovuto a motivi di sicurezza. ovvero che il browser non permette di accedere ad una risorsa locale senza l’esplicito consenso dell’utente.<br /><br />Esistono svariati prodotti commerciali di terze parti che offrono una &quot;user experience&quot; migliore, come ad esempio i controlli della Telerik.<br /><br />Spero ti sia d’aiuto.

  3. Grazie Maurizio.<br />la limitazione dei 2 gb non sarebbe un problema,<br />Dimmi di + sulla impossibilit&#224; asincrona ed adeguato feedback all’utente…<br /><br />Io vorrei implementare tanto per capirsi per ns. uso interno un servizio tipo wetrasfer.com e cio&#232; scegli i file da inviare, setti email mittente e email dei destinatario a cui vuoi mandare i files e dopo l’upload il sistema invia una mail al destinatario che lo avvisa…<br /><br />grazie ancora<br /><br />Paolo

  4. Penso che per le funzionalit&#224; che mi hai detto il controllo FileUpload vada bene.<br /><br />Intendevo dire che il controllo FileUpload non &#232; diciamo Ajax-enabled e quindi non &#232; richiamabile mediante post asincrono via Javascript, e conseguentemente non &#232; possibile fornire all’utente alcun feedback sull’upload in corso, ad esempio lo stato di avanzamento dell’operazione mediante progress bar.<br /><br />Ciao,<br />Maurizio

Leave a Reply

Your email address will not be published. Required fields are marked *