SlideShare a Scribd company logo
1 of 66
Download to read offline
ASP.NET MVC 3,[object Object],Benedetti Stefano,[object Object]
Contatti,[object Object],Ing. Stefano Benedetti,[object Object],http://www.be-st.it,[object Object],http://blog.be-st.it,[object Object],info@be-st.it ,[object Object],Lo User Group dell'Emilia-Romagnainteramente dedicato alle tecnologie Microsoft .NET,[object Object],http://dotdotnet.org/,[object Object]
Agenda,[object Object],MVC Overview,[object Object],scaffolding,[object Object],supporto HTML 5,[object Object],viewengineRazor,[object Object],miglioramenti sui controller,[object Object],nuove funzionalità Javascript e AJAX,[object Object],integrazione con NuGet,[object Object],miglior supporto alla DependencyInjection,[object Object],altre features,[object Object]
MVC Overview,[object Object],Pattern di presentazione,[object Object]
MVC Overview,[object Object],Originariamente impiegato dal linguaggio Smalltalk,[object Object],Smalltalk è stato sviluppato allo Xerox PARC durante gli anni settanta,[object Object]
Vantaggi,[object Object],SeparationofConcerns (SoC),[object Object],UnitTesting,[object Object],DI,[object Object],Nessun viewstate,[object Object],Controllo completo dell’HTML,[object Object],Scomparsi i controlli server e gli ID autogenerati,[object Object],No PageLifeCycle,[object Object],Performance,[object Object],Semplicità,[object Object]
ASP.NETPage life cycle,[object Object]
MVC Routing,[object Object],Disaccoppiamento tra URL e pagina fisica,[object Object],/products,[object Object],/products/detail/1,[object Object],/products/edit/1,[object Object],/products/delete/1,[object Object],Get,[object Object],Post,[object Object],Configurabile tramite Global.asax,[object Object],Convention overconfiguration,[object Object],ProductsController,[object Object]
Global.asx e MapRoute,[object Object], public staticvoidRegisterRoutes(RouteCollectionroutes),[object Object], {,[object Object],routes.MapRoute(,[object Object],          "Default", // Routename,[object Object],          "{controller}/{action}/{id}", // URL with parameters,[object Object],new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameterdefaults,[object Object],            );,[object Object], },[object Object]
MVC Routing,[object Object],www.sito/product,[object Object],public classProductController : Controller,[object Object],{,[object Object],public ViewResultIndex(),[object Object],     {varproducts = db.Products.Include(p => p.Brand);,[object Object],returnView(products.ToList());,[object Object],	},[object Object],},[object Object],Default Action (Index),[object Object]
MVC Routing,[object Object],products/details/1,[object Object],public classProductController : Controller,[object Object],{,[object Object], public ViewResultDetails(intid),[object Object],        {,[object Object],Productproduct = db.Products.Find(id);,[object Object],returnView(product);,[object Object],        },[object Object],},[object Object]
MVC Routing,[object Object],GET: /Product/Edit/5,[object Object],public ActionResultEdit(intid),[object Object],        {,[object Object],Productproduct = db.Products.Find(id);,[object Object],ViewBag.BrandId = new SelectList(db.Brands, "Id", "Name", product.BrandId);,[object Object],returnView(product);,[object Object],        },[object Object]
MVC Routing e ModelBinding,[object Object],POST: /Product/Edit/5,[object Object],[HttpPost],[object Object],public ActionResultEdit(Productproduct),[object Object],        {,[object Object],if (ModelState.IsValid),[object Object],            {,[object Object],db.Entry(product).State = EntityState.Modified;,[object Object],db.SaveChanges();,[object Object],returnRedirectToAction("Index");,[object Object],            },[object Object],ViewBag.BrandId = new SelectList(db.Brands, "Id", "Name", product.BrandId);,[object Object],returnView(product);,[object Object],        },[object Object]
Requisiti,[object Object],Per il runtimeASP.NET MVC 3:,[object Object],	.NET Framework version4,[object Object],ASP.NETMVC 3 Visual Studio 2010 tools:,[object Object],VisualStudio 2010 o Visual Web Developer 2010 Express,[object Object]
Installazione,[object Object],Side by side con MVC 2,[object Object],Web PlatformInstaller (WebPI),[object Object],http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3,[object Object],Download diretto,[object Object],http://go.microsoft.com/fwlink/?LinkID=208140,[object Object]
NuGet,[object Object],Library Package Manager,[object Object],Estensione di Visual Studio,[object Object],Automazione:,[object Object],Download,[object Object],Package folder,[object Object],Reference,[object Object],Web.config,[object Object],Configurazione custom,[object Object],Gestione update,[object Object],Post e guida di base su blog.be-st.it,[object Object]
NuGet,[object Object],DEMO,[object Object]
NuGet in MVC 3,[object Object],Versione 1.2,[object Object],Package pre-installati,[object Object],Modernizr,[object Object],Entity Framework Code First,[object Object],JQuery,[object Object]
Scaffolding,[object Object],Creazione dell’impalcatura,[object Object],“Add Controller” ha 3 modalità di scaffolding:,[object Object],Empty controller,[object Object],Controller withemptyread/writeactions,[object Object],Controller withread/writeactions and view, usingEntity Framework,[object Object]
Scaffolding,[object Object],Controller withread/writeactions and view, usingEntity Framework,[object Object],[object Object],Accesso ai dati,[object Object],Validazione,[object Object],One-to-manyrelationship,[object Object]
Scaffolding,[object Object],Alternativa: MVCScaffolding,[object Object],Package NuGet,[object Object],http://blog.stevensanderson.com,[object Object],Pro ASP.NET MVC V2 Framework,[object Object]
HTML 5,[object Object],I template di progetto supportano HTML 5,[object Object]
HTML 5,[object Object],Nuovi tag,[object Object],Header,[object Object],Footer,[object Object],Nav,[object Object],Section,[object Object],Validazione HTML 5 in VS 2010,[object Object]
HTML 5,[object Object],La compatibilità  con i browser più vecchi è garantita da Modernizr,[object Object],Browser non HTML 5,[object Object],<header>,[object Object],<nav>,[object Object],<section>,[object Object],<footer>,[object Object],[object Object]
Package NuGet,[object Object]
ViewEngine “Razor”,[object Object],Concisa,[object Object],Facile da imparare,[object Object],Intellisense e evidenziazione del codice Razor in Visual Studio,[object Object]
ViewEngine “Razor”,[object Object],Definizione del model: @model,[object Object],Commenti: @* *@,[object Object],Impostazioni di default (ad es. layoutpage),[object Object],Html senza encoding: Html.Raw,[object Object],Codice condiviso tra le view (_viewstart.cshtml),[object Object],“Master page”: layout,[object Object]
Razor Layout,[object Object]
ViewEngineSupport,[object Object],Default,[object Object],Web Forms (ASPX),[object Object],Razor,[object Object],Spark,[object Object],NHaml,[object Object],NDJango,[object Object]
Nuovi HTML Helpers,[object Object],Chart,[object Object],WebGrid,[object Object],Crypto,[object Object],WebImage,[object Object],WebMail,[object Object]
Chart,[object Object],DemoHtmlHelpersController,[object Object], public ActionResult Chart(),[object Object],        {,[object Object],var key = new Chart(width: 600, height: 400),[object Object],                .AddSeries(,[object Object],chartType: "bar",,[object Object],legend: "Rainfall",,[object Object],xValue: new[] { "Jan", "Feb", "Mar", "Apr", "May" },,[object Object],yValues: new[] { "20", "20", "40", "10", "10" }),[object Object],                .Write();,[object Object],returnnull;,[object Object],        },[object Object]
Chart,[object Object],View,[object Object],<p>,[object Object],    <imgsrc="/DemoHtmlHelpers/Chart" alt="Chart" />,[object Object],</p>,[object Object]
WebGrid,[object Object], @{,[object Object],vargrid = newWebGrid(source: Model, rowsPerPage: 3);,[object Object],},[object Object],@grid.GetHtml(tableStyle: "grid",,[object Object],headerStyle: "head",,[object Object],alternatingRowStyle: "alt",,[object Object],columns: grid.Columns(,[object Object],grid.Column("Id"),,[object Object],grid.Column("Name"),[object Object],            ),[object Object],            ),[object Object],<tableclass="grid">,[object Object],<thead><trclass="head">,[object Object],<trclass="alt">,[object Object]
WebGrid,[object Object],Layout,[object Object],Sort,[object Object],Paginazione,[object Object]
WebImage,[object Object],varimagePath = Server.MapPath("~/images/dotdotnet.png");,[object Object],varimage = newWebImage(imagePath);,[object Object],FlipVertical(); FlipHorizontal();,[object Object],RotateLeft(); RotateRight();,[object Object],Crop,[object Object],WaterMark,[object Object],Resize,[object Object],Formato immagine: JPEG, PNG (default), BMP, GIF,[object Object]
Miglioramenti ai controller,[object Object],Global ActionFilters,[object Object],Nuova ViewBagproperty,[object Object],Nuovi ActionResult,[object Object]
Global ActionFilters,[object Object],MVC 2: ActionFilters,[object Object],Codice da eseguire prima e dopo una SPECIFICA action,[object Object],Si applica sull’action o sul controller,[object Object]
Global ActionFilters,[object Object],MVC 3: Global ActionFilters,[object Object],Filtri da eseguire prima e dopo OGNI action di tutti i controller,[object Object],GlobalFilters,[object Object]
ViewBag,[object Object],MVC 2: ViewData,[object Object],Dictionary,[object Object],MVC 3: ViewBag,[object Object],DynamicProperty,[object Object],ViewData[“Message”] VS. ViewBag.Message,[object Object]
Nuovi ActionResult,[object Object],HttpNotFoundResult,[object Object],RedirectResult,[object Object],HttpStatusCodeResult,[object Object],Demo,[object Object]
Javascript e AJAX,[object Object],AJAX sfrutta NuGet (aggiornabile),[object Object],UnobtrusiveJavaScript,[object Object],Default Client-Side Validation,[object Object],Remote validator,[object Object],Supporto al binding JSON,[object Object]
UnobtrusiveJavaScript,[object Object],Vantaggi,[object Object],Separazione tra codice e markup,[object Object],Performance e scalabilità,[object Object],Aggiornamento delle librerie per supportare nuove funzionalità/nuovi e vecchi useragent,[object Object],Svantaggi,[object Object],Sviluppo più lento,[object Object],Necessità di cercare eventuali JS associati ai tag,[object Object]
Separazione tra codice e markup,[object Object],<input type="text" name="date" onchange="validateDate()" />,[object Object],<input type="text" name="date" id="date" />,[object Object],$(function(){ $('#date').bind('change', validateDate); });,[object Object]
UnobtrusiveJavaScript – ON/OFF,[object Object],Web.Config – appSettings,[object Object],    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>,[object Object],HtmlHelper.UnobtrusiveJavaScriptEnabled,[object Object],Default: ON (sui nuovi progetti),[object Object],OFF: compatibilità con MVC 1 e 2,[object Object],Utilizza attributi compatibili con HTML 5,[object Object]
Unobtrusive JS: Performance,[object Object],OFF,[object Object],<form,[object Object],    action="/ajax/callback",[object Object],    id="form0",[object Object],    method="post",[object Object],    onclick="Sys.Mvc.AsyncForm.handleClick(this, newSys.UI.DomEvent(event));",[object Object],    onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, newSys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'loading', updateTargetId: 'updateme' });">,[object Object],ON,[object Object],<form,[object Object],    action="/ajax/callback",[object Object],    data-ajax="true",[object Object],    data-ajax-loading="#loading",[object Object],    data-ajax-mode="replace",[object Object],    data-ajax-update="#updateme",[object Object],    method="post">,[object Object]
Default Client-Side Validation,[object Object],MVC 2,[object Object],Html.EnableClientValidation,[object Object],MVC 3,[object Object],Default!,[object Object],Disabilitabile da web.config,[object Object]
Remote Validator,[object Object],RemoteAttribute,[object Object],JQueryValidation,[object Object],Demo,[object Object]
JSON Binding,[object Object],Il modelbinding è stato esteso per supportare JSON,[object Object],E’ possibile fare binding da un oggetto JSON ad un parametro di una action,[object Object]
JSON Binding,[object Object]
JSON Binding,[object Object]
ModelValidation,[object Object],DataAnnotations,[object Object],ValidationAttribute,[object Object],ValidationInterfaces,[object Object]
DataAnnotations,[object Object],Supporto diretto ai DataAnnotations,[object Object],DisplayAttribute,[object Object]
ValidationAttribute,[object Object],IsValidOverload,[object Object],Accesso all’oggetto in corso di validazione,[object Object],CompareAttribute,[object Object]
ValidationInterfaces,[object Object],IValidatableObject ,[object Object],Validazione a livello di model,[object Object],Stato del model,[object Object],Confronto tra proprietà del model,[object Object]
ValidationInterfaces,[object Object]
DependencyInjection,[object Object],Cos’è,[object Object],Le dipendenze non sono all’interno del componente,[object Object],Le dipendenze vengono iniettate,[object Object]
Nessuna injection,[object Object],public classOrderManager,[object Object],    {,[object Object],        public voidProcessOrder(),[object Object],        {,[object Object],varlogger = newLogManager();,[object Object],logger.Log();,[object Object],        },[object Object],    },[object Object]
DI: constructorinjection,[object Object],public classOrderManagerDI,[object Object],    {,[object Object],        private readonlyILog_logger;,[object Object],        public OrderManagerDI(ILoglogger),[object Object],        {,[object Object],_logger = logger;,[object Object],        },[object Object],        public voidProcessOrder(),[object Object],        {,[object Object],_logger.Log();,[object Object],        },[object Object],    },[object Object]
DI in pratica = IOC,[object Object],Le dipendenze possono essere moltissime ed in cascata,[object Object],La risoluzione delle dipendenze viene demandata ad un gestore esterno,[object Object],L’IOC si occupa di gestire le dipendenze a runtime,[object Object],Esempio:,[object Object],Ninject,[object Object]
DependencyInjection,[object Object],Controllers,[object Object],Views,[object Object],ActionFilters,[object Object],ModelBinders,[object Object],Modelvalidation,[object Object],Modelmetadata,[object Object],Valueproviders,[object Object]
Altre nuove features,[object Object],Partial-page output caching,[object Object],Estendibilità della finestra “New Project”,[object Object],OverloadsHtml.LabelFor e Html.LabelForModel,[object Object],Supporto alla sessione nei controller,[object Object],AdditionalMetadataAttribute,[object Object],Nuovo AccountController,[object Object],Nuovo template di progetto “Intranet”,[object Object]
ASP.NET è morto?,[object Object],NO!,[object Object]
ASP.NET è morto?,[object Object],Intranet/web application “non pubbliche”,[object Object],Molto veloce sviluppare,[object Object],Infinità di controlli server sul mercato,[object Object],ASP.NET 4.0 sopperisce a molti limiti sul controllo dell’HTML,[object Object]
Riferimenti,[object Object],MVC Page su ASP.NET,[object Object],www.asp.net/mvc,[object Object],MSDN,[object Object],go.microsoft.com/fwlink/?LinkId=205717,[object Object],ScottGu,[object Object],http://weblogs.asp.net/scottgu/,[object Object]
Riferimenti,[object Object],NuGet,[object Object],http://nuget.codeplex.com/,[object Object],http://haacked.com/tags/NuGet/default.aspx,[object Object],http://blog.be-st.it/?tag=/nuget,[object Object]
That’s allfolks,[object Object],Grazie,[object Object]

More Related Content

What's hot

Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Manuel Scapolan
 
AngularJS: accessibility
AngularJS: accessibilityAngularJS: accessibility
AngularJS: accessibilityVittorio Conte
 
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebSpring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebMassimiliano Dessì
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebMassimiliano Dessì
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
Acadevmy - Angular Overview
Acadevmy - Angular OverviewAcadevmy - Angular Overview
Acadevmy - Angular OverviewFrancesco Sciuti
 
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angulardotnetcode
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Spring Framework
Spring FrameworkSpring Framework
Spring FrameworkNaLUG
 
Spring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationSpring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationMassimiliano Dessì
 

What's hot (20)

Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3
 
Yagwto
YagwtoYagwto
Yagwto
 
Corso angular js componenti
Corso angular js componentiCorso angular js componenti
Corso angular js componenti
 
AngularJS: accessibility
AngularJS: accessibilityAngularJS: accessibility
AngularJS: accessibility
 
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebSpring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis Web
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
Acadevmy - Angular Overview
Acadevmy - Angular OverviewAcadevmy - Angular Overview
Acadevmy - Angular Overview
 
Spring Intro
Spring IntroSpring Intro
Spring Intro
 
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Angularjs
AngularjsAngularjs
Angularjs
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angular
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous AgitationSpring Stack Testing:Continuous integration,Continuous Agitation
Spring Stack Testing:Continuous integration,Continuous Agitation
 

Viewers also liked

AVANTEL EQUIPOS
AVANTEL EQUIPOSAVANTEL EQUIPOS
AVANTEL EQUIPOSAVANTEL
 
Prova alceu 2014 7ºb 1ºbim
Prova alceu 2014 7ºb 1ºbimProva alceu 2014 7ºb 1ºbim
Prova alceu 2014 7ºb 1ºbimÍris Ferreira
 
Riscos Globais em Charges de Chappatte
Riscos Globais em Charges de ChappatteRiscos Globais em Charges de Chappatte
Riscos Globais em Charges de ChappatteProfessor Belinaso
 
Branded Content & Transmedia Storytelling
Branded Content & Transmedia StorytellingBranded Content & Transmedia Storytelling
Branded Content & Transmedia Storytellingduradez
 
Cuestionario de Computacion
Cuestionario de ComputacionCuestionario de Computacion
Cuestionario de Computacionjulissa bailon
 
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...Thamiris Pinzon
 
Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...
 Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr... Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...
Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...Carlos Terrones Lizana
 
Dabgo presentation
Dabgo presentationDabgo presentation
Dabgo presentationlovendahl
 
Experiencias en el Atlas de la diversidad cultural
Experiencias en el Atlas de la diversidad culturalExperiencias en el Atlas de la diversidad cultural
Experiencias en el Atlas de la diversidad culturalhuracanatlas
 
Campaña de prensa - Iglesia de Singapur
Campaña de prensa -  Iglesia de SingapurCampaña de prensa -  Iglesia de Singapur
Campaña de prensa - Iglesia de SingapurCarlos Terrones Lizana
 

Viewers also liked (20)

AVANTEL EQUIPOS
AVANTEL EQUIPOSAVANTEL EQUIPOS
AVANTEL EQUIPOS
 
Apresentação palestra XIII ECCOR - Fortaleza ago-2014
Apresentação palestra XIII ECCOR - Fortaleza ago-2014Apresentação palestra XIII ECCOR - Fortaleza ago-2014
Apresentação palestra XIII ECCOR - Fortaleza ago-2014
 
Prova alceu 2014 7ºb 1ºbim
Prova alceu 2014 7ºb 1ºbimProva alceu 2014 7ºb 1ºbim
Prova alceu 2014 7ºb 1ºbim
 
Riscos Globais em Charges de Chappatte
Riscos Globais em Charges de ChappatteRiscos Globais em Charges de Chappatte
Riscos Globais em Charges de Chappatte
 
Frutos
FrutosFrutos
Frutos
 
Trabajo
TrabajoTrabajo
Trabajo
 
Branded Content & Transmedia Storytelling
Branded Content & Transmedia StorytellingBranded Content & Transmedia Storytelling
Branded Content & Transmedia Storytelling
 
Ktvonbangdtnganhan
KtvonbangdtnganhanKtvonbangdtnganhan
Ktvonbangdtnganhan
 
Cuestionario de Computacion
Cuestionario de ComputacionCuestionario de Computacion
Cuestionario de Computacion
 
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...
APRESENTAÇÃO - Estudo Comparativo entre Companhias aéreas brasileiras no Face...
 
Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...
 Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr... Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...
Tu empresa en la Web 2.0 - Aumenta tus beneficios en Facebook, Twitter y otr...
 
China 7ºanos
China   7ºanosChina   7ºanos
China 7ºanos
 
Dabgo presentation
Dabgo presentationDabgo presentation
Dabgo presentation
 
Experiencias en el Atlas de la diversidad cultural
Experiencias en el Atlas de la diversidad culturalExperiencias en el Atlas de la diversidad cultural
Experiencias en el Atlas de la diversidad cultural
 
Elegans megoldasok
Elegans megoldasokElegans megoldasok
Elegans megoldasok
 
Livro - Marca Pessoal
Livro - Marca PessoalLivro - Marca Pessoal
Livro - Marca Pessoal
 
Campaña de prensa - Iglesia de Singapur
Campaña de prensa -  Iglesia de SingapurCampaña de prensa -  Iglesia de Singapur
Campaña de prensa - Iglesia de Singapur
 
Palestra para o CETEM- SC - Florianópolis julho 2013
Palestra para o CETEM- SC - Florianópolis julho 2013Palestra para o CETEM- SC - Florianópolis julho 2013
Palestra para o CETEM- SC - Florianópolis julho 2013
 
Prospettiva1
Prospettiva1Prospettiva1
Prospettiva1
 
2011.09.05_新聞簡報
2011.09.05_新聞簡報2011.09.05_新聞簡報
2011.09.05_新聞簡報
 

Similar to Asp.Net MVC 3 - Il Model View Controller secondo Microsoft

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
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAndrea Balducci
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC FrameworkDotNetMarche
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0firenze-gtug
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoJava User Group Roma
 
Design pattern architetturali Model View Controller, MVP e MVVM
Design pattern architetturali   Model View Controller, MVP e MVVMDesign pattern architetturali   Model View Controller, MVP e MVVM
Design pattern architetturali Model View Controller, MVP e MVVMRiccardo Cardin
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockoutDotNetCampus
 
Servizi e Dependency Injection in Angular
Servizi e Dependency Injection in AngularServizi e Dependency Injection in Angular
Servizi e Dependency Injection in AngularValerio Como
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTfirenze-gtug
 
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.jsGiorgio Di Nardo
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012Crismer La Pignola
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Luca Lusso
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciutaAndrea Dottor
 

Similar to Asp.Net MVC 3 - Il Model View Controller secondo Microsoft (20)

MVC2: non solo tecnologia
MVC2: non solo tecnologiaMVC2: non solo tecnologia
MVC2: non solo tecnologia
 
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?
 
ASP.NET MVC: Full Throttle
ASP.NET MVC: Full ThrottleASP.NET MVC: Full Throttle
ASP.NET MVC: Full Throttle
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano Ciccazzo
 
Design pattern architetturali Model View Controller, MVP e MVVM
Design pattern architetturali   Model View Controller, MVP e MVVMDesign pattern architetturali   Model View Controller, MVP e MVVM
Design pattern architetturali Model View Controller, MVP e MVVM
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
 
Servizi e Dependency Injection in Angular
Servizi e Dependency Injection in AngularServizi e Dependency Injection in Angular
Servizi e Dependency Injection in Angular
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWT
 
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
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developers
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8
 
Django
DjangoDjango
Django
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
 

Asp.Net MVC 3 - Il Model View Controller secondo Microsoft

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.