如何在MVC4中绑定包含复杂类型的列表模型?

时间:2015-06-21 21:07:17

标签: c# asp.net-mvc asp.net-mvc-4

我有一个包含这样的输入元素的表单:

...
<input type="hidden" name="orders[0].ID" value="1">
<input type="text" name="orders[0].Name" value="Some name">
<input type="date" name="orders[0].Date" value="09/08/2014">
<input type="time" name="orders[0].Time" value="5:16 AM">
...
<input type="hidden" name="orders[1].ID" value="2">
<input type="text" name="orders[1].Name" value="Some name2">
<input type="date" name="orders[1].Date" value="09/08/2014">
<input type="time" name="orders[1].Time" value="5:16 AM">
...
<input type="hidden" name="orders[2].ID" value="2">
<input type="text" name="orders[2].Name" value="Some name2">
<input type="date" name="orders[2].Date" value="09/08/2014">
<input type="time" name="orders[2].Time" value="5:16 AM">
...

因此,当表单提交时,它应该绑定到这样的动作:

public ActionResult Update(IEnumerable<Order> orders){}

问题是,我的视图将日期时间作为单独的输入元素,但Order类只有一个 DateTime 属性,这应该结合两者。有没有办法以比创建新Modelbinder更简单的方式绑定它?

1 个答案:

答案 0 :(得分:0)

您可以使用javascript处理onsubmit事件,并将这两个字段中的数据合并为一个将被解析为DateTime的字段。你需要一些代码来看看它是如何完成的吗?