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"; }

@View.Message

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)

@View.Title

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.