Treća generacija ASP.NET MVC-a (Preview 1)

Prvi preview treće generacije ASP.NET MVC 3 objavljen je krajem jula mjeseca a može se preuzeti sa ove stranice. Nova verzija sadrži mnogo novih funkcionalnosti, a ovaj preview je obljavljen sa ciljem da se čuje mišljenje  programerske zajednice o ovim novim funkcionalnostima.

Razor View Engine

Razor je novi templating engine za kreiranje view-a, koji je prvi put predstavljen kao dio proizvoda Microsoft WebMatrix. MVC3 Preview 1 pored kreiranja web forms (.aspx) baziranih view-a omogućava pisanje view-ova koji koriste novu Razor sintaksu. Jedan view napisan Razor sintaksom prikazan je ispod:

@inherits System.Web.Mvc.WebViewPage

@{
    View.Title = "Home Page";
    LayoutPage = "~/Views/Shared/_Layout.cshtml";
}

<p>@View.Message</p>

Podrška za više View Engine –a u dijalogu Add View

Već od prve verzije ASP.NET MVC omogućava da se koriste različiti View Engine-i za pisanje View-ova (web forms, Spark, NHaml). Novost u MVC3 je nova opcija u dijalogu “Add View” koja omogućava izbor View Engine-a, naravno podržavajući samo view engine-ove koji su instalirani na računaru.

add-view

Novi parametri View i ViewModel

Za slanje podataka iz kontrolera na view MVC Framework koristi dictionary-bazirani ViewData objekat. MVC 3 nudi novi par dinamičkih parametara ViewModel (u kontroleru) i View (u view-u) koji omogućavaju lakše dodavanje i čitanje stavki iz ViewData dictionary-ja. Na primjer, u Action metodi kontrolera možemo umjesto

ViewData["Title"] = "Naslov";

staviti

ViewModel.Title = "Naslov";

dok se iz View-a ovom property-ju (u oba slučaja) pristupa kao (ako koristimo Razor sintaksu)

<p>@View.Title</p>

Podrška za Dependency Injection

ASP.NET MVC3 omogućava da se prilikom kreiranja aplikacija registruje service locator koji će aplikacija koristiti, i na taj način daje formalizuje proces za integraciju raličitih DI Frameworka. Više detalja o ovoj temi možete pročitati u seriji blog postova na blogu Brad Wilsona.

Globalni filteri

Pored dodavanja filtera na pojedine Action metode kontrolera, u ASP.NET MVC 3 moguće je i registrovanje globalnih filtera koji će biti aktivni za sve action metode svih kontrolera u aplikaciji. Registrovanje globalnih filtera vrši se u Application_Start metodi global.asax, pozivom metode GlobalFilters.Filters.Add.

Ostala poboljšanja

  • Novi JsonValueProvider
  • Poboljšanja u podršci za validaciju podataka i podrška za Data Annotations atribute iz .NET Framework-a 4
  • Novi ActionResult tipovi
  • Permanent Redirect

Više o ovim i ostalim novostima u ASP:NET MVC 3 možete pročitati na blogovima Scott Guthrie-a i Phil Haack-a.

No Comments