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.
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.