雖然ASP.NET MVC 3 Preview 1尚未發(fā)布,但感興趣的讀者可以從微軟下載站點(diǎn)上下載該框架。新特性包括:依賴注入、Razor視圖引擎、動(dòng)態(tài)視圖與ViewModel屬性以及全局過(guò)濾器。
ASP.NET MVC 3 Preview 1帶來(lái)了很多新特性,重要的有:
Razor視圖引擎:InfoQ在此前的新聞中曾報(bào)道過(guò)該視圖引擎。目前,ASP.NET MVC 3只支持C#(.cshtml文件),但計(jì)劃未來(lái)增加對(duì)VB.NET的支持。
動(dòng)態(tài)視圖與ViewModel屬性:視圖將擁有一個(gè)新的動(dòng)態(tài)View屬性,可以訪問(wèn)ViewData對(duì)象。如下代碼展示了其使用方法:
public ActionResult Index() {ViewData["Title"] = "The Title";ViewData["Message"] = "Hello World!";}<h2>View.Title</h2><p>View.Message</p>此外,Controller類也有一個(gè)動(dòng)態(tài)屬性ViewModel,可以更好地訪問(wèn)ViewData字典,如下代碼所示(基于上面的代碼):
public ActionResult Index() {ViewModel.Title = "The Title";ViewModel.Message = "Hello World!";}“Add View”對(duì)話框支持多種視圖引擎:現(xiàn)在,Visual Studio中的Add View對(duì)話框支持從多種視圖引擎中進(jìn)行選擇了。
依賴注入:現(xiàn)在,ASP.NET MVC支持從IoC容器中探測(cè)Web Form與Razor視圖引擎中的如下服務(wù)與依賴:控制器工廠、視圖頁(yè)面所依賴的來(lái)源于ViewPage的類型、ViewUserControl、ViewMasterPage、WebViewPage以及action過(guò)濾器的依賴等。
全局過(guò)濾器:現(xiàn)在,ASP.NET MVC支持向控制器的所有action方法中添加過(guò)濾器。
JsonValueProviderFactory類:該類可以將客戶端模板與接收/發(fā)送JSON數(shù)據(jù)的action方法連接起來(lái)。
支持.NET Framework 4 Metadata Attributes
ASP.NET MVC 3可與ASP.NET MVC 2同時(shí)使用,這樣開(kāi)發(fā)者就可以從中選擇所需的版本。老的項(xiàng)目還可以升級(jí)到新的框架,但升級(jí)過(guò)程并非完全自動(dòng)化。發(fā)布說(shuō)明建議:
...首先創(chuàng)建新的ASP.NET MVC 3項(xiàng)目并將現(xiàn)有MVC 2項(xiàng)目中所有的視圖、控制器、代碼和內(nèi)容文件復(fù)制到新項(xiàng)目中,然后更新新項(xiàng)目中的引用,使之匹配舊的項(xiàng)目。如果修改了MVC 2項(xiàng)目中的Web.config文件,則必須要將修改合并到MVC 3項(xiàng)目的Web.config文件中。
ASP.NET MVC 3需要使用.NET 4.0和Visual Studio 2010或是Visual Web Developer Express 2010。