我正在使用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:&#34 01/04/2016"
这是我的控制器方法
public JsonResult GetCustomerElectronicTransactions([DataSourceRequest] DataSourceRequest request, DateTime? transactionToDate){}
我的控制器将日期识别为 MM / DD / YYYY ,但它实际上是以 DD / MM / YYYY 传递的,所以发生的事情是我的月份通过时,天正在切换。
有没有人有任何建议?我不明白为什么这会突然给我一个问题,我已经在其他控制器/视图中使用了这个确切的设置而没有问题。
思想?
答案 0 :(得分:0)
问题与我在JS中获得datepicker值的方式有关 我改变了:
function getDatePickerValue() {
var toDate= $("#ToDate").val();
return {
transactionToDate: toDate
}
}
要:
function getDatePickerValue() {
var toDate= $("#ToDate").data("kendoDatePicker").value();
return {
transactionToDate: toDate
}
}