我有一個MVC 3視圖,它顯示可以按日期過濾的項目列表。asp.net mvc:默認模型活頁夾問題
該過濾器是一個已經被jQueryUI綁定到日期選擇器中的文本框。
查看:
<%= Html.TextBoxFor(model => model.ReportedDate, new { @class = "datepicker" })%>
腳本:
$(".datepicker").datepicker({
dateFormat: 'dd/mm/yy',
changeYear: true,
changeMonth: true
});
在點擊一個按鈕,我搶在文本框中的值,並將其發送到我的控制器操作爲GET的查詢字符串參數請求:
MyController/Search?reportedDate=30/05/2011
控制器動作:
public ActionResult Search(DateTime? reportedDate)
從這我希望默認的模型聯編程序將reportedDate
查詢參數轉換爲可以爲空的DateTime(在此上下文中表示所有日期或null篩選器爲null)。
但事實並非如此。 reportedDate
始終爲空。我可以鑽入Request.QueryString
並使用DateTime.TryParse
手動進行轉換,這是我目前的工作,但我不明白爲什麼它首先失敗。
客戶端和服務器之間的日期格式沒有什麼區別,其他(在這裏省略,但在實際代碼中出現)其他數據類型(字符串和整數)的過濾器參數,並且它們的處理沒有問題。
任何建議爲什麼DateTime很麻煩?