MVC 3.0中的默认模型联编程序是否能够处理非顺序索引(对于简单和复杂的模型types)是真的吗? 我遇到的post表明它应该,但是在我的testing中,它似乎没有。 给定回发值: 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项简单地被忽略。 我已经看到了许多解决scheme来生成自定义索引( 模型绑定到列表 ),但他们都似乎瞄准以前的版本的MVC,而且大多数是一个“重手”IMO。 我错过了什么吗?
我有一个types: public class IssueForm { Order Order {get; set;} Item Item {get; set;} Range Range {get; set;} } 由于Order和Item的要求,我创build了一个自定义模型绑定器,但Range仍然可以使用默认模型绑定器。 有没有一种方法从我的自定义模型联编程序中调用默认的模型联编程序来返回一个Range对象? 我想我只需要正确设置ModelBindingContext,但我不知道如何。 编辑 看第一个评论和答案 – 它似乎像inheritance默认的模型联编程序可能是有用的。 为了给我的设置添加更多细节,我已经: public IssueFormModelBinder : IModelBinder { public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { Order = //code to pull the OrderNumber from the context and create an Order Item = //code […]