際際滷

際際滷Share a Scribd company logo
Asp.Net MVC 2Visual Studio 2010 Community Launch TourAndrea Balduccihttp://www.ienumerable.ithttp://twitter.com/andreabalducci
Come funziona MVC?Inviata al serverRequestAsp.Net MVCIdentifica ed istanziaControllerprepara ilModeldetermina laviene passato allagenera laResponseViewhttp://msdn.microsoft.com/en-us/library/dd381412.aspx
Piattaforma di sviluppoDownload separatohttp://bit.ly/bg04yYCompreso
FrameworkAsp.Net MVC2 竪 disponibile dalla versione 3.5 sp1 di Microsoft .Net Framework.Non 竪 parte integrante del framework
Installabile tramite Web PlatformInstaller
Bin deployable
Standaloneinstallerhttp://www.asp.net/mvc/
Open SourcedOSI-compliantopen-sourcelicensehttp://aspnet.codeplex.com/releases/view/41742
RoutingIn Asp.Net 4 il sistema di routing 竪 utilizzabile anche per applicazioni webforms.Asp.Net MVC 1/2WebForms 4http://bit.ly/9gyPkM
AreasOrganizzazione dei progetti in aree funzionaliIn ogni area 竪 possibile definire controllers, models e viewsLe aree vanno attivate in fasi di startup dellapplicazione web.http://msdn.microsoft.com/en-us/library/ee671793.aspx
Areas - RegistrazioneClasse <AreaName>AreaRegistration:Nome dellarea
Routeshttp://msdn.microsoft.com/en-us/library/ee671793.aspx
Areas - RoutesRegistrare ogni route con il relativo namespace per evitare collisionihttp://msdn.microsoft.com/en-us/library/ee671793.aspx
Areas - RoutesRegistrazione con namedargument (C# 4)Registrazione classicahttp://msdn.microsoft.com/en-us/library/ee671793.aspx
Areas - ActionLinkPer entrare in unarea 竪 necessario indicarne il nome
Se larea non 竪 indicata la default 竪 larea corrente.
Per tornare alla root indicare {area=String.Empty}http://msdn.microsoft.com/en-us/library/ee671793.aspx
{Areas  Demo}
Strongly-Typed UI HelpersPermettono lutilizzo di lambda expressions per indicare la propriet del modelVantaggiRefactoringfacilitato
Messaggi di errore a compile time (se 竪 abilitata la compilazione delle views)
Intellisensehttp://bit.ly/8ZUEom
DataAnnotationsPermettono di decorare il modello dati dellapplicazione tramite attributiEpossibile, per esempio, indicare che un valore 竪 obbligatorio o che una stringa richiede un editormultilinehttp://bit.ly/L5J9
DataAnnotationsQ: Perch辿 MultilineText e non TextArea?R: DataAnnotations 竪 indipendente dal framework della UIQ: Se 竪 indipendente dalla UI come viene gestita da MVC?R: DataAnnotationsModelMetadataProviderDataAnnotationsModelValidatorProviderQ: Se il mio model 竪 autogenerato come posso annotarlo?R: [MetadataType(typeof(MyModelMetadata))]http://bit.ly/1x4TSC
ValidazioneLa validazione 竪 applicata su tutto il modello, indipendentemente dalle propriet presenti nella form inviata al server.Pu嘆 far uso delle DataAnnotations - [Required] - [Range] - [StringLength] - [RegularExpression]
ValidazioneUna propriet non nullable 竪 implicitamente required.Indicare comunque [Required] permette di customizzare il messaggio di errore.
Validazione Client SideMVC2 supporta nativamente la validazione client side (qualora javascript sia abilitato) sfruttando gli stessi meccanismi definiti per la validazione server side.Per attivare la validazione client-side:1) includere gli necessari script necessari2) chiamare Html.EnableClientSideValidation()http://bit.ly/5WILHI
{Validazione Demo}
DynamicScaffoldingE possibile autogenerare le form di inserimento e visualizzazione dati utilizzando Html.EditorForModel() e Html.DisplayForModel()http://bit.ly/3hPK7H

More Related Content

What's hot (14)

Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
Stefano Ottaviani
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
Cosa c'e di nuovo in asp.net core 2 0
Cosa c'e di nuovo in asp.net core 2 0Cosa c'e di nuovo in asp.net core 2 0
Cosa c'e di nuovo in asp.net core 2 0
Andrea Dottor
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
NaLUG
Java Spring Basics - Donato Andrisani - Gabriele Manfredi
Java Spring Basics - Donato Andrisani - Gabriele ManfrediJava Spring Basics - Donato Andrisani - Gabriele Manfredi
Java Spring Basics - Donato Andrisani - Gabriele Manfredi
Gabriele Manfredi
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
Andrea Dottor
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
Andrea Dottor
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
Alessandro Forte
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
Luca Milan
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
Andrea Colleoni
Spring @Aspect e @Controller
Spring @Aspect e @Controller Spring @Aspect e @Controller
Spring @Aspect e @Controller
Massimiliano Dess狸
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Andrea Dottor
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
Stefano Ottaviani
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
Cosa c'e di nuovo in asp.net core 2 0
Cosa c'e di nuovo in asp.net core 2 0Cosa c'e di nuovo in asp.net core 2 0
Cosa c'e di nuovo in asp.net core 2 0
Andrea Dottor
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
NaLUG
Java Spring Basics - Donato Andrisani - Gabriele Manfredi
Java Spring Basics - Donato Andrisani - Gabriele ManfrediJava Spring Basics - Donato Andrisani - Gabriele Manfredi
Java Spring Basics - Donato Andrisani - Gabriele Manfredi
Gabriele Manfredi
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
Andrea Dottor
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
Andrea Dottor
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
Alessandro Forte
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
Luca Milan
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
Andrea Colleoni
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Andrea Dottor

Similar to Asp.Net MVC 2 :: VS 2010 Community Tour (20)

Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
Daniele Mondello
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
Giorgio Di Nardo
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
MVC and Struts 1
MVC and Struts 1MVC and Struts 1
MVC and Struts 1
Tarin Gamberini
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftAsp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Stefano Benedetti
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
Andrea Dottor
Niccol嘆 Becchi: Introduzione a GWT
Niccol嘆 Becchi: Introduzione a GWTNiccol嘆 Becchi: Introduzione a GWT
Niccol嘆 Becchi: Introduzione a GWT
firenze-gtug
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
Andrea Dottor
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
Giorgio Di Nardo
MVC2: non solo tecnologia
MVC2: non solo tecnologiaMVC2: non solo tecnologia
MVC2: non solo tecnologia
Andrea Saltarello
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
Andrea Dottor
Web Api The HTTP Way
Web Api  The HTTP WayWeb Api  The HTTP Way
Web Api The HTTP Way
Luca Milan
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
DotNetMarche
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
DotNetCampus
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
Sabino Labarile
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)
brossi676
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
XeDotNet
ASP.NET MVC: Full Throttle
ASP.NET MVC: Full ThrottleASP.NET MVC: Full Throttle
ASP.NET MVC: Full Throttle
Andrea Saltarello
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
Gianfranco Castro
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
Daniele Mondello
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
Giorgio Di Nardo
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftAsp.Net MVC 3 - Il Model View Controller secondo Microsoft
Asp.Net MVC 3 - Il Model View Controller secondo Microsoft
Stefano Benedetti
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
Andrea Dottor
Niccol嘆 Becchi: Introduzione a GWT
Niccol嘆 Becchi: Introduzione a GWTNiccol嘆 Becchi: Introduzione a GWT
Niccol嘆 Becchi: Introduzione a GWT
firenze-gtug
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
Andrea Dottor
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
Giorgio Di Nardo
MVC2: non solo tecnologia
MVC2: non solo tecnologiaMVC2: non solo tecnologia
MVC2: non solo tecnologia
Andrea Saltarello
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
Andrea Dottor
Web Api The HTTP Way
Web Api  The HTTP WayWeb Api  The HTTP Way
Web Api The HTTP Way
Luca Milan
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
DotNetMarche
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
DotNetCampus
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
Sabino Labarile
Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)Yii Framework - yes it is rapid web application development (Parte 1)
Yii Framework - yes it is rapid web application development (Parte 1)
brossi676
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
XeDotNet
ASP.NET MVC: Full Throttle
ASP.NET MVC: Full ThrottleASP.NET MVC: Full Throttle
ASP.NET MVC: Full Throttle
Andrea Saltarello
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
Gianfranco Castro

More from Andrea Balducci (17)

Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019
Andrea Balducci
Inception
InceptionInception
Inception
Andrea Balducci
Stranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarcheStranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarche
Andrea Balducci
Event based modelling and prototyping
Event based modelling and prototypingEvent based modelling and prototyping
Event based modelling and prototyping
Andrea Balducci
Storage dei dati con MongoDB
Storage dei dati con MongoDBStorage dei dati con MongoDB
Storage dei dati con MongoDB
Andrea Balducci
Italian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - ModellathonItalian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - Modellathon
Andrea Balducci
Open domus 2016
Open domus 2016Open domus 2016
Open domus 2016
Andrea Balducci
Oktober webfest
Oktober webfestOktober webfest
Oktober webfest
Andrea Balducci
TypeScript intro / mobile dev camp
TypeScript intro / mobile dev campTypeScript intro / mobile dev camp
TypeScript intro / mobile dev camp
Andrea Balducci
Typescript intro
Typescript introTypescript intro
Typescript intro
Andrea Balducci
Alam aeki 2015
Alam aeki 2015Alam aeki 2015
Alam aeki 2015
Andrea Balducci
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween party
Andrea Balducci
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
Andrea Balducci
Event Sourcing con NEventStore
Event Sourcing con NEventStoreEvent Sourcing con NEventStore
Event Sourcing con NEventStore
Andrea Balducci
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
Andrea Balducci
Introduzione ai framework ioc
Introduzione ai framework iocIntroduzione ai framework ioc
Introduzione ai framework ioc
Andrea Balducci
jQuery Ecosystem
jQuery EcosystemjQuery Ecosystem
jQuery Ecosystem
Andrea Balducci
Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019
Andrea Balducci
Stranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarcheStranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarche
Andrea Balducci
Event based modelling and prototyping
Event based modelling and prototypingEvent based modelling and prototyping
Event based modelling and prototyping
Andrea Balducci
Storage dei dati con MongoDB
Storage dei dati con MongoDBStorage dei dati con MongoDB
Storage dei dati con MongoDB
Andrea Balducci
Italian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - ModellathonItalian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - Modellathon
Andrea Balducci
TypeScript intro / mobile dev camp
TypeScript intro / mobile dev campTypeScript intro / mobile dev camp
TypeScript intro / mobile dev camp
Andrea Balducci
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween party
Andrea Balducci
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
Andrea Balducci
Event Sourcing con NEventStore
Event Sourcing con NEventStoreEvent Sourcing con NEventStore
Event Sourcing con NEventStore
Andrea Balducci
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
Andrea Balducci
Introduzione ai framework ioc
Introduzione ai framework iocIntroduzione ai framework ioc
Introduzione ai framework ioc
Andrea Balducci

Asp.Net MVC 2 :: VS 2010 Community Tour