源代碼:http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=39978
目前該版本支持的IDE只有VS2008(.NET3.5),針對(duì)VS 2010的RC版本將會(huì)在不久后提供下載。這次RC2的升級(jí)主要修復(fù)了一些Bug,添加了一些API以及改進(jìn)了了一些而方法。
從ASP.NET MVC 2 RC 1到RC 2變化主要如下:
1、在RC1中新增的ASP.NET MVC 2 validation(對(duì)ViewData中Model數(shù)據(jù)驗(yàn)證)功能,現(xiàn)在已經(jīng)由 model-validation 取代了 input-validation 。也就是說,如果你使用 model binding (將Model屬性自動(dòng)綁定到View中,并自動(dòng)綁定從View中Post回Controller的值),那么所有的屬性都將被驗(yàn)證一遍,而不僅僅是變更后的數(shù)據(jù)。
。ㄗⅲ簜(gè)人認(rèn)為這在某些情況下反而會(huì)帶來不便,比如當(dāng)你只想綁定一個(gè)模型中部分屬性,以此作為一個(gè)暫時(shí)的“容器”的時(shí)候,可能會(huì)使ModelState.IsValid變成false。不知是否可以有選擇性地使用新的特性)
2、新的“強(qiáng)類型HTML(<input>標(biāo)簽)的輔助方法”,現(xiàn)在支持了Lambda表達(dá)式,從而可以使你使用到數(shù)組(array)或者集合索引(collection indexes)。例如現(xiàn)在可以這么做:Html.EditorFor(m=>m.Orders[i]) ,這段代碼將會(huì)生成以序列i為name、具體數(shù)組中的值為value的<input>標(biāo)簽。
(注:這一點(diǎn)在DropDownList中將極為有用。)
3、重新調(diào)整過的Html.EditorFor() 和 Html.DisplayFor() 擴(kuò)展方法,在默認(rèn)情況下將自動(dòng)對(duì)應(yīng)簡(jiǎn)單屬性。這使得自動(dòng)構(gòu)造Form表單變?yōu)楦雍?jiǎn)單了。
。ㄗⅲ航K于有點(diǎn)像某些“前輩”MVC的Form了,希望這種改進(jìn)可以來得更猛烈些)
4、model驗(yàn)證所使用的客戶端腳本中的id現(xiàn)在更清晰了。在RC1中,id會(huì)像這樣:form0_ prefix,現(xiàn)在id改為了以屬性名稱為前綴,如:unitPrice_validationMessage。
。ㄗⅲ哼@點(diǎn)變化可以使前臺(tái)開發(fā)人員對(duì)頁面的控制更加完整)
5、Html.ValidationSummary() 方法增加了一個(gè)參數(shù),可以控制匯總信息顯示的級(jí)別,是整個(gè)Model級(jí)別,或是單個(gè)屬性級(jí)別。
。ㄗⅲ鹤兊母诵曰,有的頁面我們只需要讓它顯示一個(gè)tip就可以了,不需要把所有的都重復(fù)列出來)
6、AccountController中使用默認(rèn)的ASP.NET MVC Web Application模板更加整潔了。
7、腳手架(scaffolding)功能現(xiàn)在提供了在Controller中的Delete方法,以及對(duì)的View頁面(模板)。
8、jQuery 1.4.1被包含到了項(xiàng)目中,取代了原先的1.3.2版本。同步更新的還有用來智能提示的vsdoc文件。
9、其他一些很有意義的改進(jìn),比如第2點(diǎn)中所說的“強(qiáng)類型HTML(<input>標(biāo)簽)的輔助方法”現(xiàn)在更快了。