菲尔哈克有介绍如何设置的东西,所以默认模型绑定将绑定到一个集合上回发了一篇文章:如何获得上回发的视图模型子集合在MVC3?
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
我有是我不只是想问题将集合发回Controller控制器操作,但将ViewModel与集合一起发送。
我有一个类,基本上是这样的:
public class MyViewModel
{
public int IncidentNumber { get; set; }
public string StoreId { get; set; }
public string RepId { get; set; }
public string OrderStatus { get; set; }
public CustomerViewModel Customer { get; set;
//... other properties and SelectLists for binding
public IEnumerable<OrderItemViewModel> OrderItemViewModels { get; set; }
其实我可以得到CustomerViewModel数据传回回发,但OrderItemViewModels的列表是空的。我怎样才能让他们回来?菲尔的文章没有帮助那里。
@model MyViewModel
@using (Html.BeginForm())
{
... some input fields
@Html.EditorFor(x => x.OrderItemViewModels)
<input type="submit" value="OK" />
}
,然后相应的编辑器模板,将里面:
我给你竖起大拇指的这一点,因为它本质上是正确的答案。我了解到,它是HTML Input元素的Name属性。它必须是在一定的格式(如其他线程显示),以便模型绑定弄明白。以及您的具体答案是正确的(我不得不处理下拉框,不得不手动覆盖Name属性来得到这个工作) –
谢谢!花了太多时间找到这个答案,我希望更多的人+1。 – jhilden