虽然 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() {<p>ViewData["Title"] = "The Title";</p><p>ViewData["Message"] = "Hello World!";</p><p>}</p><p><h2>View.Title</h2></p><p><p>View.Message</p></p>
此外,Controller 类也有一个动态属性 ViewModel,可以更好地访问 ViewData 字典,如下代码所示(基于上面的代码):
public ActionResult Index() {<p>ViewModel.Title = "The Title";</p><p>ViewModel.Message = "Hello World!";</p><p>}</p>
- “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。
查看英文原文: ASP.NET Reaches a New Milestone: ASP.NET MVC 3 Preview 1
评论