asp.net mvc: sfruttare la piattaforma al 100%

11
@ Web@Work [MVC – Sfruttare la piattaforma al 100%] [Alessandro Mostarda] [[email protected]] [www.alessandromostarda.com]

Upload: domusdotnet

Post on 05-Dec-2014

653 views

Category:

Technology


3 download

DESCRIPTION

Sessione "ASP.NET MVC: sfruttare la piattaforma al 100%" tenuta da Alessandro Mostarda all'evento WEB@Work di DomusDotNet del 14/12/2012

TRANSCRIPT

Page 1: ASP.NET MVC: sfruttare la piattaforma al 100%

@Web@Work

[MVC – Sfruttare la piattaforma al 100%]

[Alessandro Mostarda][[email protected]]

[www.alessandromostarda.com]

Page 2: ASP.NET MVC: sfruttare la piattaforma al 100%

@Web@Wor

k

Model BindingAction FiltersAction ResultClient & Server validation

Agenda

Page 3: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 4: ASP.NET MVC: sfruttare la piattaforma al 100%

@Web@Wor

k

• Ereditando da DefaultModelBinder• Implementando l’interfaccia

IModelBinder• Creando un ModelBinderProvider

Customize Model binding

Page 5: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 6: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 7: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 8: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 9: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 10: ASP.NET MVC: sfruttare la piattaforma al 100%

@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

Page 11: ASP.NET MVC: sfruttare la piattaforma al 100%

Web@WorkGrazie agli sponsor