现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 --
它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅。
View
Engine :
View Engine is responsible for rendering of the HTML code
from your views to the browser.
MVC 2 uses only Web Forms view engine (.aspx)
as a default View Engine.
MVC3 uses Razor View Engine (.cshtml for c# and
.vbhtml for Visual Basic) and Web Forms view engine (.aspx).
MVC4 also uses
Razor View Engine as a default view engine with some new features like condition
attribute and ‘Tilde slash’.
Chart, WebGrid, Crypto,WebImage,
WebMail Controls :
All these are not available in MVC2.
All
these are available in MVC3 and in MVC4.
Syntex :
(HTML Syntax) Web Forms view engine syntax: <%=Html code %> in
MVC2.
(Razor Syntax) Razor View Engine syntax: @Html code in MVC3.
MVC4
has the same Razor View Engine Syntax but with the addition of new features like
conditional attribute and ‘Tilde Slash’ i.e. URL
resolution.
Objects available for sharing of data between View
and Controller :
TempData, ViewData are available in
MVC2.
TempData, ViewData ,ViewBag are available in MVC3.
TempData,
ViewData ,ViewBag are available in MVC4.
> TempData is used with current
and subsequent request i.e. when you know the next view to be
redirected.
> In ViewData, dictionary of objects are accessible via
strings as keys.
> ViewBag was added in the C# 4.0 which uses the dynamic
feature that allows to add properties of an object dynamically . We can say that
ViewBag = ViewData + dynamic feature around the ViewData
dictionary.
Jquery Support :
Jquery support is Good
in MVC2.
Jquery support is Better in MVC3.
MVC4 provides better support
for Jquery like Jquery Mobile.
Dependency Injection Support
:
Dependency injection is Good in MVC2.
It provides powerful
hooks with Dependency Injection and Global Action Filters in MVC3.
Better
support in MVC4.
Layout Support :
Supports only
Master Page in MVC2.
Supports not only Master Page but also Layout Page in
MVC 3 and in MVC4.
Validation :
Client-side
Validation and Asynchronous controllers is there in MVC2.
Unobtrusive Ajax
and Client side Validation, Jquery Validation and JSON binding support is in
MVC3.
Client side validation, Jquery validation and enhanced support for
asynchronous methods in MVC4.
Project Templates :
MVC3 supports project templates enabled by HTML 5.
MVC4 supports many new
features for mobile apps and also provides new mobile project template and
default templates are refreshed and modernized.
New features in asp.net mvc 5:
1. One ASP.NET
2.
Asp.Net Identity
3. Bootstrap in the MVC template
4. Authentication
Filters
5. Filter overrides
You can get the more details from
Microsoft MSDN http://www.asp.net/visual-studio/overview/2013/release-notes#TOC10
还是用英文,希望大家养成英文阅读的习惯 :)