虽然ASP.NET MVC 3 Preview 1尚未发布,但感兴趣的读者可以从微软下载站点上下载该框架。新特性包括:依赖注入、Razor视图引擎、动态视图与ViewModel属性以及全局过滤器。
ASP.NET MVC 3 Preview 1带来了很多新特性,重要的有:
Razor视图引擎:InfoQ在此前的新闻中曾报道过该视图引擎。目前,ASP.NET MVC 3只支持C#(.cshtml文件),但计划未来增加对VB.NET的支持。
动态视图与ViewModel属性:视图将拥有一个新的动态View属性,可以访问ViewData对象。如下代码展示了其使用方法:
public ActionResult Index() {ViewData["Title"] = "The Title";ViewData["Message"] = "Hello World!";}<h2>View.Title</h2><p>View.Message</p>此外,Controller类也有一个动态属性ViewModel,可以更好地访问ViewData字典,如下代码所示(基于上面的代码):
public ActionResult Index() {ViewModel.Title = "The Title";ViewModel.Message = "Hello World!";}“Add View”对话框支持多种视图引擎:现在,Visual Studio中的Add View对话框支持从多种视图引擎中进行选择了。
依赖注入:现在,ASP.NET MVC支持从IoC容器中探测Web Form与Razor视图引擎中的如下服务与依赖:控制器工厂、视图页面所依赖的来源于ViewPage的类型、ViewUserControl、ViewMasterPage、WebViewPage以及action过滤器的依赖等。
全局过滤器:现在,ASP.NET MVC支持向控制器的所有action方法中添加过滤器。
JsonValueProviderFactory类:该类可以将客户端模板与接收/发送JSON数据的action方法连接起来。
支持.NET Framework 4 Metadata Attributes
ASP.NET MVC 3可与ASP.NET MVC 2同时使用,这样开发者就可以从中选择所需的版本。老的项目还可以升级到新的框架,但升级过程并非完全自动化。发布说明建议:
...首先创建新的ASP.NET MVC 3项目并将现有MVC 2项目中所有的视图、控制器、代码和内容文件复制到新项目中,然后更新新项目中的引用,使之匹配旧的项目。如果修改了MVC 2项目中的Web.config文件,则必须要将修改合并到MVC 3项目的Web.config文件中。
ASP.NET MVC 3需要使用.NET 4.0和Visual Studio 2010或是Visual Web Developer Express 2010。