【发布时间】:2016-07-14 17:10:38
【问题描述】:
我正在使用 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 传递的,所以发生的事情是我的月份天数会在过去时切换。
有人有什么建议吗?我不明白为什么这突然给我一个问题,我已经在其他控制器/视图中使用了这个确切的设置而没有问题。
想法?
【问题讨论】:
-
可能文化设置不正确或在某处搞砸了。您可以尝试将此行添加到 web.confog
<globalization uiCulture="en-US" culture="en-US" />
标签: javascript c# asp.net-mvc kendo-ui kendo-datepicker