SlideShare a Scribd company logo
Noutăți în ASP.NET MVC 2Gabriel Enea(developer la maxcode.nl, co-fondator al serviciului joobs.ro)CodeCamp de iarnă la Iași 20 februarie 2010 @ Codecamp.ro
AgendăMVC, Noutăţi ASP.NET MVC 2, Exemple
MVC
Despre ASP.NET MVCFebruarie 2007Scott Guthrie (Corporate Vice President in the Microsoft Developer Division)OPEN SOURCE!Nu este/nu înlocuiește ASP.NET WebForms!EXTENSIBIL, TESTABIL, FLEXIBILFriendly URLs (Url Routing)Stadiul curent: ASP.NET MVC 2 RC 2Suport IDE: Visual Studio 2008 SP 1 / Visual Studio 2010 (inclus)Dezvoltat peste: .NET Framework 3.5
ASP.NET Framework astăzi…
HELLO WORLDDEMO
ASP.NET MVC - Execuțiehttp://domain.ro/sayhelloDomainController (acțiune)RequestModelViewResponseModel
Ce-i nou în ASP.NET MVC 2?Html.RenderActionAreasTemplatesModel ValidationAsynchronous Controllers
Html.RenderActionÎmbunătățește implementareapattern-uluiMVC permițând apelul unei acțiuni dintr-un VIEW, rezultatul fiind afișat direct în VIEW.
Html.RenderActionHtml.RenderPartialgenerează UI directHtml.RenderActiongenerează UI prin intermediul unui controller(nou în ASP.NET MVC 2)
Html.RenderActionDEMO
AreasPartiționează o aplicație mare în secțiuni (care pot fi dezvoltate independent) reducând complexitatea aplicației.AreaRegistration.RegisterAllAreas()
AreasDEMO
TemplatesAsociază tipurilor de date simple (int, string, ..) sau complexe (clase…) template-uri pentru vizualizarea sau editarea lor.
TemplatesMetode pentru vizualizareHtml.Display()Html.DisplayFor()Html.DisplayForModel()Metode pentru editareHtml.Editor()Html.EditorFor()Html.EditorForModel()
Templatesclass ModelMetadata {…}ConvertEmptyStringToNull, DataTypeName , Description, DisplayFormatString, DisplayName, EditFormatString, HideSurroundingHtml, IsComplexType, IsNullableValueType, IsReadOnly, IsRequired, NullDisplayText, ShortDisplayName, ShowForDisplay, ShowForEdit, SimpleDisplayText, TemplateHint, Watermark
TemplatesInfluențează metadata modelului[HiddenInput](System.Web.Mvc)[UIHint],[DataType],[ScaffoldColumn], [DisplayFormat] (System.ComponentModel.DataAnnotations)[ReadOnly],[DisplayName] (System.ComponentModel)
TemplatesModuri de specificare / Ordine de selectare[UIHint(“MyPropertyTemplate”)]DataTypeName (ModelMetadata)Numele tip-ului de date (String, DateTime, Person, …)Dacă obiectul nu e complex -> StringDacă e complex și e interfață -> ObjectDacă e complex și nu e interfață se caută în ierarhie un tip valid(direct) Html.DisplayForModel(“MyTemplate.ascx”);
TemplatesDEMO
Validation      Security?
Model ValidationOferă suport îmbunătățit și extensibil de validare la nivel de server și client.Input Validation a devenit Model Validation.
Model ValidationProvidersData Annotation (implicit)
Enterprise Library Validation Block
Castle Validator
XML
…Model ValidationData Annotation ValidatorsRequired
Range
RegularExpression
StringLength

More Related Content

PPTX
Introducere în ASP.NET MVC prin exemple
PPTX
Model View Controller și ASP.NET MVC + AJAX
PDF
Introduction to ASP .Net
PPTX
Magia testelor automate cu ASP.NET MVC
PPTX
Rute cu ASP.NET MVC
PPSX
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
PPSX
[Web Days] Introducere In Silverlight 2
PDF
3173119 aplicatii-de-retea
Introducere în ASP.NET MVC prin exemple
Model View Controller și ASP.NET MVC + AJAX
Introduction to ASP .Net
Magia testelor automate cu ASP.NET MVC
Rute cu ASP.NET MVC
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
[Web Days] Introducere In Silverlight 2
3173119 aplicatii-de-retea

Similar to Noutăţi în ASP.NET MVC 2 (20)

PDF
Asp.Net Mvc
PDF
HTML5? HTML5!
PPT
OSOM - Performance in testing by jmeter
PDF
Javascript ajax tutorial
PDF
Java enterprise real world
PPT
Dezvoltarea Aplicatiilor Web
PPT
Vista4Devs Academic Tour Romani
PPT
FlexDoc
PPTX
Asp.net mvc bad practices
PPTX
2010.11.27 - ITSpark ofline meeting #1, Cluj - Service Manager 2010 Introduct...
PDF
proiectare si programare orientata obiect 9
PPTX
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
PDF
Aplicații Firefox OS cu HTML5
PDF
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
DOCX
Music Finder
PDF
Cloud computing caracteristici si modele v greavu
PPT
Programare Web - De la CGI la servere de aplicatii
PPT
Google Web Toolkit - tutorial
PPT
Prezentare IOC - etapa 3
PDF
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
Asp.Net Mvc
HTML5? HTML5!
OSOM - Performance in testing by jmeter
Javascript ajax tutorial
Java enterprise real world
Dezvoltarea Aplicatiilor Web
Vista4Devs Academic Tour Romani
FlexDoc
Asp.net mvc bad practices
2010.11.27 - ITSpark ofline meeting #1, Cluj - Service Manager 2010 Introduct...
proiectare si programare orientata obiect 9
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Aplicații Firefox OS cu HTML5
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
Music Finder
Cloud computing caracteristici si modele v greavu
Programare Web - De la CGI la servere de aplicatii
Google Web Toolkit - tutorial
Prezentare IOC - etapa 3
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
Ad

More from Enea Gabriel (7)

PPTX
Moving forward with ASP.NET Core
PPTX
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
PPSX
Improving the availability of your website
PPTX
Applying EF Code First at Your Job
PDF
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
PDF
Elements of DDD with ASP.NET MVC & Entity Framework Code First
PPTX
FII absolvent!
Moving forward with ASP.NET Core
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
Improving the availability of your website
Applying EF Code First at Your Job
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First
FII absolvent!
Ad

Noutăţi în ASP.NET MVC 2

Editor's Notes

  • #4: Model View Controller este un pattern arhitectural important in lumeaprogramatorilor de multi ani, utilizatpentruseparareaaplicatiei in 3 aspecteprincipale:Modelul: un set de clase care descriudatele cu care lucreazaaplicatia, regulile de business, cum sunt manipulate sisalvatedatele;View: reprezintainterfatautilizator a aplicatiei;Controller: reprezinta un set de clase care intretincomunicareadintreutilizatorsi flow-ulaplicatieisieste specific logiciiaplicatiei;
  • #13: You need to specify namespaces when registering routes if you have duplicate controller names. The AreaRegistrationContext will automatically include a namespace value when registering routes in a child area. The namespace is the same namespace as the type used to register routes.
  • #15: Reprezinta una dintre cele mai importante functionalitati oferite de ASP.NET MVC 2, similar lui Dynamic Data din ASP.NET WebForms.
  • #16: Generateaza UI
  • #17: Metadata despre model.
  • #25: Server side validation Client side validation (enable with jQuery)