将MVC视图中动态创建的元素集合绑定到MVC 4中的集合的最佳方法是什么。我知道以前的版本要求元素看起来像这样:
<input name="Categories[0].CategoryID" type="hidden" value="123" />
<input name="Categories[0].CategoryName" type="hidden" value="Music" />
<input name="Categories[1].CategoryID" type="hidden" value="456" />
<input name="Categories[1].CategoryName" type="hidden" value="Movies" />
但是当你动态添加新元素并删除它们时,事情很快就会失序。
MVC 4 是否添加了绑定到非顺序集合的方法?
答案 0 :(得分:13)
自MVC2以来支持非顺序集合索引您只需要一个单独的隐藏字段,该字段将使用name
架构保存索引:CollectionName.Index
:
E.g:
<input type="hidden" name="Categories.Index" value="3" />
<input name="Categories[3].CategoryID" type="hidden" value="123" />
<input name="Categories[3].CategoryName" type="hidden" value="Music" />
<input type="hidden" name="Categories.Index" value="1" />
<input name="Categories[1].CategoryID" type="hidden" value="456" />
<input name="Categories[1].CategoryName" type="hidden" value="Movies" />
您可以在此处找到有关此主题的更多信息:Model Binding To A List