• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Noutăţi în ASP.NET MVC 2
 

Noutăţi în ASP.NET MVC 2

on

  • 2,909 views

Prezintă noutăţile din ASP.NET MVC 2: areas, model validation și suportul pentru template-uri. Sesiune susţinută în cadrul evenimentului CodeCamp de iarnă la Iaşi, 20 februarie 2010.

Prezintă noutăţile din ASP.NET MVC 2: areas, model validation și suportul pentru template-uri. Sesiune susţinută în cadrul evenimentului CodeCamp de iarnă la Iaşi, 20 februarie 2010.

Statistics

Views

Total Views
2,909
Views on SlideShare
2,449
Embed Views
460

Actions

Likes
0
Downloads
0
Comments
0

4 Embeds 460

http://gabrielenea.blogspot.com 394
http://gabrielenea.blogspot.ro 38
http://www.slideshare.net 27
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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;
  • 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.
  • Reprezinta una dintre cele mai importante functionalitati oferite de ASP.NET MVC 2, similar lui Dynamic Data din ASP.NET WebForms.
  • Generateaza UI
  • Metadata despre model.
  • Server side validation Client side validation (enable with jQuery)

Noutăţi în ASP.NET MVC 2 Noutăţi în ASP.NET MVC 2 Presentation Transcript

  • Noutăți în ASP.NET MVC 2
    Gabriel 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 MVC
    Februarie 2007
    Scott Guthrie (Corporate Vice President in the Microsoft Developer Division)
    OPEN SOURCE!
    Nu este/nu înlocuiește ASP.NET WebForms!
    EXTENSIBIL, TESTABIL, FLEXIBIL
    Friendly URLs (Url Routing)
    Stadiul curent: ASP.NET MVC 2 RC 2
    Suport IDE: Visual Studio 2008 SP 1 / Visual Studio 2010 (inclus)
    Dezvoltat peste: .NET Framework 3.5
  • ASP.NET Framework astăzi…
  • HELLO WORLD
    DEMO
  • ASP.NET MVC - Execuție
    http://domain.ro/sayhello
    Domain
    Controller (acțiune)
    Request
    Model
    View
    Response
    Model
  • Ce-i nou în ASP.NET MVC 2?
    Html.RenderAction
    Areas
    Templates
    Model Validation
    Asynchronous 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.RenderAction
    Html.RenderPartial
    • generează UI direct
    Html.RenderAction
    • generează UI prin intermediul unui controller
    (nou în ASP.NET MVC 2)
  • Html.RenderAction
    DEMO
  • Areas
    Partiționează o aplicație mare în secțiuni (care pot fi dezvoltate independent) reducând complexitatea aplicației.
    AreaRegistration.RegisterAllAreas()
  • Areas
    DEMO
  • Templates
    Asociază tipurilor de date simple (int, string, ..) sau complexe (clase…) template-uri pentru vizualizarea sau editarea lor.
  • Templates
    Metode pentru vizualizare
    Html.Display()
    Html.DisplayFor()
    Html.DisplayForModel()
    Metode pentru editare
    Html.Editor()
    Html.EditorFor()
    Html.EditorForModel()
  • Templates
    class ModelMetadata {…}
    ConvertEmptyStringToNull, DataTypeName , Description, DisplayFormatString, DisplayName, EditFormatString, HideSurroundingHtml, IsComplexType, IsNullableValueType, IsReadOnly, IsRequired, NullDisplayText, ShortDisplayName, ShowForDisplay, ShowForEdit, SimpleDisplayText, TemplateHint, Watermark
  • Templates
    Influențează metadata modelului
    [HiddenInput](System.Web.Mvc)
    [UIHint],[DataType],[ScaffoldColumn], [DisplayFormat] (System.ComponentModel.DataAnnotations)
    [ReadOnly],[DisplayName] (System.ComponentModel)
  • Templates
    Moduri de specificare / Ordine de selectare
    [UIHint(“MyPropertyTemplate”)]
    DataTypeName (ModelMetadata)
    Numele tip-ului de date (String, DateTime, Person, …)
    Dacă obiectul nu e complex -> String
    Dacă e complex și e interfață -> Object
    Dacă e complex și nu e interfață se caută în ierarhie un tip valid
    (direct) Html.DisplayForModel(“MyTemplate.ascx”);
  • Templates
    DEMO
  • Validation Security?
  • Model Validation
    Oferă suport îmbunătățit și extensibil de validare la nivel de server și client.
    Input Validation a devenit Model Validation.
  • Model Validation
    Providers
    • Data Annotation (implicit)
    • Enterprise Library Validation Block
    • Castle Validator
    • XML
  • Model Validation
    Data Annotation Validators
    • Required
    • Range
    • RegularExpression
    • StringLength
    • CustomValidator
  • Model Validation
    DEMO
  • Altenoutăți în ASP.NET MVC 2
    Securitate
    HTML Encoding Syntax
    <%: Model.NewPostByEvilPerson %>
    JsonResult
    Performanţă
    AsynchronousController Actions
    Default Parameters pentru Controller Actions,
    RESTfull support: HttpPost, HttpGet, HttpDelete, HttpPut,
    RequiresHttps, Value Providers, Strongly-Typed Html Helpers
  • Să recapitulăm, noutăți în ASP.NET MVC 2?
    Html.RenderAction
    Areas
    Templates
    Model Validation
    Asynchronous Controllers
  • Noutăți în ASP.NET MVC 2
    ?
    Vă rugăm să completați formularele de feedback!
  • Resurse ASP.NET MVC
    www.asp.net/mvc
    codeplex.com/aspnet
    Book: Professional ASP.NET MVC 1.0(Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie)
    ASP.NET MVC Training Kit (http://tinyurl.com/yh7muf)
    Blog-uri: ScottGu, Rob Conery, Brad Wilson şi alţii…
  • Noutăți în ASP.NET MVC 2
    Gabriel Enea
    (developer la maxcode.nl, co-fondator al serviciului joobs.ro)
    Blog: gabrielenea.blogspot.com
    Twitter: twitter.com/dotnet18
    CodeCamp de iarnă la Iași
    20 februarie 2010 @ Codecamp.ro