2009-06-23 78 views
2

我有一个场景我想使用局部视图,但是我有问题将它传递给控制器​​。这是我想要做的一个基本例子。ASP.NET MVC部分视图和表格

对象:

  • 客户
  • 订购

客户上有一个IList<Order>。我想让局部视图允许用户编辑信息。我可以获取要显示的数据,但是当表单发布Customer对象下的列表为空时。

我也试图在我的部分视图中使用单独的窗体。当我这样做,如果我在控制器上创建paramenters喜欢,所以我得到的数据:

public ActionResult UpdateOrders(IList<Guid> id, IList<int> quantity, IList<Guid> productId) 

但是,当我做到这一点

public ActionResult UpdateOrders(IList<Order> orders) 

列表为空。

如果任何人有更好的建议如何实现这个让我知道。

+0

你可以发布HTML,我认为这将有助于这个问题 – Hugoware 2009-06-23 16:45:14

回答

2

你如何引用视图中的字段?我想,这应该是这样的:

<input type="hidden" name="orders.Index" value="0" /> 
<input type="hidden" name="oders[0].ID" value="1" /> 
<input type="hidden" name="orders[0].productId" value="4" /> 
<input type="text" name="orders[0].quantity" value="6" /> 

<input type="hidden" name="orders.Index" value="1" /> 
<input type="hidden" name="orders[1].ID" value="2" /> 
<input type="hidden" name="orders[1].productId" value="2" /> 
<input type="text" name="orders[1].quantity" value="15" /> 

见菲尔哈克对binding to a list博客条目获取更多信息。

+0

这些字段是由foreach生成的,因此它们最终以相同的id和名字结束。 – cjibo 2009-06-23 17:01:27