2015-06-21 33 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事件和合並來自這兩個領域的數據轉換成一個會被解析爲日期時間。你需要一些代碼來看看它是如何完成的嗎?