2011-02-10 79 views
0

我有一個簡單的Web表單,其中數據存儲在數據庫中。我嘗試將DateTime字段拆分爲兩個控制器。將多個控制器映射到單個字段

-One TextBoxFor的日期YYYY/MM/DD

-One TextBoxFor的時間

-One TextBoxFor會議紀要

第一控制器成功地保存日期​​到數據庫,沒有時間(小時和分鐘),但其他兩個控制器不會將任何內容保存到數據庫中。

任何幫助表示讚賞。

 <div class= "editor-field"> 
     @Html.TextBoxFor(model => model.deliveryDate) 
     @Html.ValidationMessageFor(model => model.deliveryDate) 
    </div> 

    <div class="editor-label"> 
     Tid 
    </div> 
    <div class= "editor-field"> 
     @Html.TextBoxFor(model => model.deliveryDate.Hour) 
     @Html.TextBoxFor(model => model.deliveryDate.Minute) 

    </div> 
+0

你希望我們告訴你爲什麼你的控制器不保存在數據庫中的任何實際上不顯示那些控制器,模型和數據訪問邏輯?我個人不會期望太多。 – 2011-02-10 18:45:54

回答

0

我相信DateTime的小時和分鐘是隻讀的。 所以當你嘗試設置它們時,它會失敗。

解決此問題的一個非常簡單的方法是在顯示的模型上製作表現屬性。例如 model.hour model.Minute

設置這些後,您可以更新model.deliveryDate的小時和分鐘。

作爲一項預防措施,我還會爲deliveryDate創建顯示屬性,因爲您在設置此選項時將失去時間。

總的最佳解決方案是獲得一個很好的DateTime控件。我認爲在MVC框中有一個(不知道它有多好)。 嘗試其中之一:

http://trentrichardson.com/examples/timepicker/

或單獨的人 http://haineault.com/media/jquery/ui-timepickr/page/ 和看看jQueryUI的

相關問題