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:"01/04/2016"

这是我的控制器方法

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

我的控制器将日期识别为MM/DD/YYYY,但它实际上是作为DD/MM/YYYY传递的,所以发生的事情是我的月份和日期在传递时正在切换。

有人有什么建议吗?我不明白为什么这突然给我一个问题,我已经在其他控制器/视图中使用了这个确切的设置而没有问题。

想法?

4

1 回答 1

0

问题与我在 JS 中获取 datepicker 值的方式有关。
我变了 :

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

至:

function getDatePickerValue() {
 var toDate= $("#ToDate").data("kendoDatePicker").value();
   return {
            transactionToDate: toDate
        }
}
于 2016-07-14T18:13:32.840 回答