3.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

在本节接下来,我们将简单介绍每一个新特性,后面再逐一深入讲解。我们将在第2324章介绍移动项目开发模板、Web API和其他只有MVC 4.0才有的特性。

1.3.1         Razor视图引擎

Razor视图引擎是ASP.NET Web Pages技术几个核心组件之一。Razor提供了将代码和标记语言混写更简洁的方式。在ASP.NET MVC 1.02.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视图引擎。

1.3.2    NuGet包管理器

NuGet包管理器与ASP.NET MVC一起发布。NuGet简化了对依赖组件的管理,它可以直接将需要的组件、库文件和一些其他的工具包安装到你的项目中,不用像以前那样,当需要第三方组件时,要手动在网上下载。一旦安装成功,在Visual Studio中,这些组件可以很容易更新到最新版本。

你可以通过NuGet提供的命令行方式或者GUI界面,在大量的在线提供的包中下载你需要的组件和库。我们将在第14章详细介绍NuGet。

1.3.3 改善的可扩展性

ASP.NET MVC公开的额外的可扩展性入口点,使得你可以将自己的组件挂钩到框架中,从而取代框架默认提供的功能。MVC中的依赖解析(Dependency Resolver)可以用来实例化对象,并将它们提供给框架。这个方法可以被集成到不同的依赖反转容器中,减少了必须手动初始化对象的次数。

我们将在第18章学习如何使用依赖解析器和依赖反转容器提供程序的可扩展性。

1.3.4    全局活动过滤器

MVC中的全局活动过滤器特性构建在MVC 1.0和2.0的过滤器机制之上,目的是为了在应用程序中向所有的控制器活动提供通用行为(Cross-cutting behavior)。虽然这看起来是一个不起眼的特性,但它可以巨幅减少应用程序中筛选器声明的次数。我们将在第16章深入学习全局筛选器。

1.3.5    动态语言支持

由于运行在.NET4.0之上,ASP.NET MVC利用了一些DLR中的特性,其中包括通过动态模型(Dynamic Model)向视图传递数据。我们将在第3章继续学习该特性。

1.3.6     部分页面输出缓存

自ASP.NET MVC诞生之初,就支持在一段时间内缓存整个页面。现在它也开始支持只缓存页面中特定的部分。我们将在第17章学习这种新的缓存机制。

1.3.7    改善的ajax

MVC通过集成jQuery以及其他的Javascript库,将继续支持丰富的ajax功能。同时支持将json数据反序列化后作为活动方法的参数的功能。我们将在第7章学习这些ajax改进功能。

1.3.8    改善的验证机制

MVC支持使用数据注解(data annotation)特性验证模型对象。这些特性在.NET 4.0和ASP.NET MVC中显著增强。另外,对客户端验证的支持也被大大改善了。我们将在第6章学习这些验证特性。

现在你已经大体了解了ASP.NET MVC的一些显著特性,接下来我们将通过一个案例项目深入研究这些特性。这个例子将会贯穿本书的整个第1部分。

1.4           小结

本章中,你了解了ASP.NETMVC的历史,看到了ASP.NET平台的发展历程,以及微软构建在核心ASP.NET之上的3个开发框架:ASP.NET Web Form,ASP.NET MVC和ASP.NET Web Pages。你同时学到了MVC 3.0和4.0中的一些新特性,我们整本书都会用来介绍这些新特性。

下一章,我们将会引入GuestBook项目,该项目会一直作为例子贯穿本书的第一部分。借助于GuestBook这个示例,我们将开始ASP.NET MVC的学习,并逐步深入。

请继续阅读,接下来我们将介绍如何使用ASP.NET MVC开始创建一个新的项目。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值