ASP.NET MVC: sfruttare la piattaforma al 100%
-
Upload
domusdotnet -
Category
Technology
-
view
655 -
download
3
description
Transcript of ASP.NET MVC: sfruttare la piattaforma al 100%
@Web@Work
[MVC – Sfruttare la piattaforma al 100%]
[Alessandro Mostarda][[email protected]]
[www.alessandromostarda.com]
@Web@Wor
k
Model BindingAction FiltersAction ResultClient & Server validation
Agenda
@Web@Wor
k
• Model binding è il processo di creazione di oggetti .NET partendo dai dati inviati dal browser in una richiesta HTTP.
• Viene invocato dopo che è stata individuata la action da eseguire
• Consente di mappare tipi primitivi, oggetti, array, collection e files
• I valori vengono ricavati attraverso ValueProvider
Model binding
@Web@Wor
k
• Ereditando da DefaultModelBinder• Implementando l’interfaccia
IModelBinder• Creando un ModelBinderProvider
Customize Model binding
@Web@Wor
k
• Gli action filters consentono di inserire alcuni frammenti di logica, non legati ad una singola action, ma a più action e/o più controller. In tal modo è possibile evitare di ripetere codice all’interno delle Action.
• Sono di 4 tipi: Authorization, Action, Result,Exception
• Si applicano indistintamente a Controller e/o Action
Action filters
@Web@Wor
k
• Gli Action Filter vengono eseguiti Subito prima e subito dopo l’esecuzione di un Action method
• I Result Filter vengono eseguiti subito prima e subito dopo l’esecuzione del metodo execute di un Action Result
Action filters
@Web@Wor
k
• Ereditare da ActionFilterAttribute• Implementare l’interfaccia IActionFilter• Implementare l’interfaccia IResultFilter• Possibilità di registrare un
ActionFilter/ResultFilter per tutte le action. In questo caso parliamo di Global Filters
Customize Action filters
@Web@Wor
k
• Le ActionResult servono a specificare il modo con cui vogliamo rispondere ad una richiesta HTTP
• Sono customizzabili e possono essere usate, ad esempio, per generazione di risposte in formato di PDF, XML ed etc.
• La classe di base è ActionResult• Ci sono degli helper method nei
controller che ne facilitano la creazione.
ActionResult
@Web@Wor
k
• La validazione Server deve sempre essere presente.
• Si può fare sfruttando:• Il Model Binding;• La Self Validation (IValidatableObject)• Le Data Annotations
Client & Server side validation
@Web@Wor
k
• La validazione client è facoltativa, ma le moderne applicazioni non possono farne a meno
• Per abilitarla occorre utilizzare le Data Annotations lato server, implementando però anche l’interfaccia IClientValidatable.
• Sul client è costruita sul plugin JQuery Validation
Client & Server side validation
Web@WorkGrazie agli sponsor