2010-01-12 51 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'属性。

快乐编码。