2015-06-21 60 views
-1

我有这样的输入元素的一种形式:我如何可以绑定包含在MVC4复杂类型的列表模式?

... 
<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类有一个单一的日期时间财产,应该将两者结合起来。有没有什么办法的方式,比创建一个新的模型绑定器绑定更简单呢?

+0

最简单的方法就是为Order类创建一个DTO,比如ViewModel,并把逻辑放在那里 – br4d

+0

你需要到MVC站点去学习教程,特别是如何使用html helper绑定到你的模型的属性。 –

回答

0

您可以使用JavaScript来处理onsubmit事件和合并来自这两个领域的数据转换成一个会被解析为日期时间。你需要一些代码来看看它是如何完成的吗?

相关问题