2016-07-14 39 views
1

我正在使用KendoDatePicker,我將其全部用於我的應用程序。但是,我突然遇到了一個問題,它以錯誤的格式傳遞日期。劍道日期選擇器 - 將不正確的日期格式傳遞給控制器​​

@(Html.Kendo().DatePicker() 
      .Name("ToDate") 
      .Min(DateTime.Today.AddYears(-1)) //Set the min date of the DatePicker. 
      .Max(DateTime.Today) //Set the min date of the DatePicker. 
      .Value(DateTime.Today.ToString("dd/MM/yyyy")) // I have also just set DateTime.Today, without formating as string 

我用下面的JS函數來檢索日期選取器日期:

function getDatePickerValue() { 
var toDate= $("#ToDate").val(); 
    return { 
      transactionToDate: toDate 
     } 
} 

我那麼這個值傳遞給我的控制器,這需要的日期和過濾器格。這是被傳遞了什麼(在我的網絡調試器看到的): transactionToDate:「2016年1月4日」

這是我的控制器方法

public JsonResult GetCustomerElectronicTransactions([DataSourceRequest] DataSourceRequest request, DateTime? transactionToDate){} 

我控制器識別日期MM/DD/YYYY,但它實際上是通過DD/MM/YYYY,所以發生的事情是,我的月份和日子正在切換時通過。

有沒有人有任何建議?我不明白爲什麼這突然給我一個問題,我已經在其他控制器/視圖中使用了這個確切的設置沒有問題。

想法?

+0

也許文化是沒有正確設置或得到某處搞砸了。您可以嘗試將此行添加到web.confog'

回答

0

問題在於如何獲得JS中datepicker的值。
我改變:

function getDatePickerValue() { 
var toDate= $("#ToDate").val(); 
    return { 
      transactionToDate: toDate 
     } 
} 

要:

function getDatePickerValue() { 
var toDate= $("#ToDate").data("kendoDatePicker").value(); 
    return { 
      transactionToDate: toDate 
     } 
} 
相關問題