asp.net-mvc-3 – MVC3非顺序索引和DefaultModelBinder

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – MVC3非顺序索引和DefaultModelBinder前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否真的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" />

希望这可以帮助

猜你在找的asp.Net相关文章