2011-06-16 36 views
0

在單獨的文本框或下拉列表中編輯asp.net MVC 3中的可爲空的DateTime屬性的最佳方式是什麼?asp.net mvc3 - 將日期時間分成部分

我想將日期時間分成日,月和年 - 將月份顯示爲下拉列表。該屬性是可選的,所以如果沒有提供日期,它應該爲空。我假設我必須使用像MVC 2這樣的自定義模型綁定器:http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx - 但這似乎不適用於可選日期,並且服務器端驗證未正確觸發(例如,輸入日期文本)。我不想在這裏使用jQuery。

這應該是非常簡單,很常見的用例 - 對吧?感謝您指點我正確的方向。

回答

0

其實現在常見的用例是使用jQuery和單個文本框,但是如果你真的想使用下拉菜單,你需要在你的模型中爲日/月/年單獨設置屬性,然後進行轉換控制器操作中的日期。

你可以在視圖中做一個分隔,或者是一個生成javascript和一個隱藏字段的html助手,但這對於視圖來說太過於邏輯了。

+0

好的,謝謝。我相信沒有jQuery的話,更容易輸入一個出生日期 - 誰願意回顧他生活的所有年份?! ;) – Heiko 2011-06-17 03:53:39

+0

是真的,但您可以設置默認日期並確保用戶可以選擇使用日期選擇器或將其輸入到文本框中。 – 2011-06-17 05:09:37