目前次版本只支持的IDE只有VS2008(.NET3.5),针对VS 2010的RC版本将会在不久后提供下载。这次RC2的升级主要修复了一些bug,添加了一些API以及改进了了一些而方法。
从ASP.NET MVC 2 RC 1到RC 2变化主要如下:
1、在RC1中新增的ASP.NET MVC 2 validation(对ViewData中Model数据验证)功能,现在已经由 model-validation 取代了 input-validation 。也就是说,如果你使用 model binding (将Model属性自动绑定到View中,并自动绑定从View中Post回Controller的值),那么所有的属性都将被验证一遍,而不仅仅是变更后的数据。
(注:个人认为这在某些情况下反而会带来不便,比如当你只想绑定一个模型中部分属性,以此作为一个暂时的“容器”的时候,可能会使ModelState.IsValid变成false。不知是否可以有选择性地使用新的特性)
2、新的“强类型HTML(<input>标签)的辅助方法”,现在支持了Lambda表达式,从而可以使你使用到数组(array)或者集合索引(collection indexes)。例如现在可以这么做:Html.EditorFor(m=>m.Orders[i]) ,这段代码将会生成以序列i为name、具体数组中的值为value的<input>标签。
(注:这一点在DropDownList中将极为有用。)
3、重新调整过的Html.EditorFor() 和 Html.DisplayFor() 扩展方法,在默认情况下将自动对应简单属性。这使得自动构造Form表单变为更加简单了。
(注:终于有点像某些“前辈”MVC的Form了,希望这种改进可以来得更猛烈些)
4、model验证所使用的客户端脚本中的id现在更清晰了。在RC1中,id会像这样:form0_ prefix,现在id改为了以属性名称为前缀,如:unitPrice_validationMessage。
(注:这点变化可以使前台开发人员对页面的控制更加完整)
5、Html.ValidationSummary() 方法增加了一个参数,可以控制汇总信息显示的级别,是整个Model级别,或是单个属性级别。
(注:变的更人性化了,有的页面我们只需要让它显示一个tip就可以了,不需要把所有的都重复列出来)
6、AccountController中使用默认的ASP.NET MVC Web Application模板更加整洁了。
7、脚手架(scaffolding)功能现在提供了在Controller中的Delete方法,以及对的View页面(模板)。
8、jQuery 1.4.1被包含到了项目中,取代了原先的1.3.2版本。同步更新的还有用来智能提示的vsdoc文件。
9、其他一些很有意义的改进,比如第2点中所说的“强类型HTML(<input>标签)的辅助方法”现在更快了。
次版本的源代码可以在这里下载到:http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=39978