2010-01-12 52 views
1

我正在使用ASP.NET MVC 2.0。客戶端驗證和集合或動態表單

我需要實現一個動態表單以添加「即時」新表格表格行。

我的ViewModel包含一個ICollection根據每一行將被添加到窗體。

現在我怎樣才能使客戶端驗證該機制?

回答

0

您應該將模型綁定到列表。

請看看:http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx(菲爾哈克是微軟MVC的人之一)。這基本上是微軟公司爲了實現功能所做的一個破解(Phill聲稱他們正在設計一些其他的方式來做這件事,但現在我們是這麼做的)。您可以輕鬆地爲此添加驗證控件。請在實施命名方案時仔細查看,並且不要忘記放置隱藏的「索引」字段。索引值可以是任何你喜歡的東西(它不一定是序列中的數字),但是無論你放在隱藏字段中作爲值,都必須在後面的輸入控件的方括號中,就像Phill's例。仔細檢查一下,我曾經來到純粹的苦難之中,因爲我忘記了隱藏的索引,因爲它很容易錯過什麼。此外,命名方案的第二部分('名稱'和'價格')必須與您的模型中的相同。

完成此操作後,請使用jQuery動態添加/刪除表單上的項目。請注意,jQuery選擇器不允許使用方括號來表示id,所以您可以按照某種其他方式(如'something_index_propertyName')構建輸入控件的'id'屬性,同時根據命名方案保留'value'屬性。

快樂編碼。