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