【发布时间】:2014-04-13 17:37:31
【问题描述】:
我有一个 MVC 4 验证和淘汰赛问题。
我试过这个解决方案:
Translate knockout into razor to keep it's validation working
但我遇到了与有效答案的评论中列出的相同的问题 => 验证仅适用于第一个元素。
经过多次搜索,我找到了这篇关于模型绑定到列表的文章:
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/
我想知道如何合并这两个解决方案。
仅对第一个元素有效的验证示例:
Dim dummy As ViewModels.ObjectViewModel = Model.MyObjects.FirstOrDefault
@<tbody data-bind='foreach: MyObjects'>
<td>
@Html.TextBoxFor(Function(model) dummy.Label, New With {.data_bind = "value: Label"})
</td>
</tbody>
验证工作的示例,但没有淘汰赛 foreach,我无法动态添加项目
<tbody>
@Code
Dim i As Integer = 0
For Each object In Model.MyObjects
@<tr>
<td>
@Html.TextBoxFor(Function(m) Model.MyObjects(i).Label)
</td>
</tr>
i+= 1
Next
End Code
</tbody>
也许有淘汰变量:$index()?
【问题讨论】:
-
没有必要合并两个解决方案。 KO为你做。
-
其实不行,如果我使用KO foreach,MVC验证只对第一项有效:/
标签: asp.net-mvc razor knockout.js