ASP.NET MVC 3.0/4.0新特性

   1.3  ASP.NET MVC 3.0/4.0新特性    除了依赖于。NET Framework 4.0之外,MVC 3.0/4.0还做了很多改进并引入了许多新的特性。包括:
    Razor视图引擎;
    NuGet包管理工具;
    改善的可扩展性;
    全局活动筛选器(Global Action Filter);
    动态语言支持;
    局部页面输出缓存;
    改进的ajax;
    改善的验证机制;
    移动项目开发模板;
    Web API;
    在本节接下来,我们将简单介绍每一个新特性,后面再逐一深入讲解。我们将在第23和24章介绍移动项目开发模板、Web API和其他只有MVC 4.0才有的特性。
    1.3.1         Razor视图引擎
    Razor视图引擎是ASP.NET Web Pages技术几个核心组件之一。Razor提供了将代码和标记语言混写更简洁的方式。在ASP.NET MVC 1.0和2.0中只有一个视图引擎——WebForm视图引擎,但现在除了Web Form视图引擎,你还可以选择razor视图引擎开发应用程序。
    例如,下面的代码演示了使用传统的Web Form引擎,在页面显示产品列表。
    <%@ PageLanguage="C#" Inherits="System.Web.MVC.ViewPage<Product[]>"%>
    <ul>
    <% foreach(varproduct in Model) { %>
    <li><%:product.Name %></li>
    <% } %>
    </ul>
    这是非常杂乱的。顶端的page指令和用于在代码和标记语言之间切换的<% %>符号,向页面标记中添加了很多多余的字符。相反,Razor提供了一种非常简洁的方式实现相同的功能:
    @model Product[]
    <ul>
    @foreach(var productin Model) {
    <li>@product.Name</li>
    }
    </ul>
    可以看到,Razor不需要任何的代码起始和结束标记,就能在代码和标记之间切换,这使得页面可以只关注于页面呈现的标记,我们将会在第1部分大量使用Razor视图引擎,第17章将会深入讲解Razor视图引擎。