是否真的MVC 3.0中的默认模型绑定器能够处理非顺序索引(对于简单和复杂的模型类型)?我遇到了建议它应该的帖子,但是在我的测试中,它似乎并没有。
给定后回值:
items[0].Id = 10 items[0].Name = "Some Item" items[1].Id = 3 items[1].Name = "Some Item" items[4].Id = 6 items[4].Name = "Some Item"
和控制器方法:
public ActionResult(IList<MyItem> items) { ... }
仅加载的值为项0和1;项目4被简单地忽略。
我已经看到了许多解决方案来生成自定义索引(Model Binding to a List),但是他们都看起来针对以前版本的MVC,并且大多数是有点’重型’IMO。
我缺少什么?
解决方法
我有这个工作,你必须记住添加一个常见的索引隐藏输入,如解释在您参考的文章:
name = Items.Index的隐藏输入是关键部分
<input type="hidden" name="Items.Index" value="0" /> <input type="text" name="Items[0].Name" value="someValue1" /> <input type="hidden" name="Items.Index" value="1" /> <input type="text" name="Items[1].Name" value="someValue2" /> <input type="hidden" name="Items.Index" value="3" /> <input type="text" name="Items[3].Name" value="someValue3" /> <input type="hidden" name="Items.Index" value="4" /> <input type="text" name="Items[4].Name" value="someValue4" />
希望这可以帮助