Asp.net mvc 在mvc 5中大于12时,datetimepicker为ActionResult提供空值

Asp.net mvc 在mvc 5中大于12时,datetimepicker为ActionResult提供空值,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,当我选择小于或等于12的日期时,我有startdate和enddate列,它工作正常,但当我选择大于12的日期时,它给ActionResult提供null值 这就是我正在使用的函数 $(function () { $('body').on("focus", ".datepicker", function () { $('.datepicker').datetimepicker({ format: 'MM-DD-YYYY' })

当我选择小于或等于12的日期时,我有
startdate
enddate
列,它工作正常,但当我选择大于12的日期时,它给ActionResult提供
nul
l值

这就是我正在使用的函数

$(function () {
    $('body').on("focus", ".datepicker", function () {
        $('.datepicker').datetimepicker({
            format: 'MM-DD-YYYY'
        })
    })
});
从视图中选择日期的文本框

@Html.TextBoxFor(model => model.StartDate, new { placeholder = "MM-dd-yyyy", @class = "form-control datepicker" })
@Html.ValidationMessageFor(model => model.StartDate)
并验证此文本框

[Required(ErrorMessage = "Start Date is required."), DataType(DataType.Date)]
public Nullable<System.DateTime> StartDate { get; set; }
[Required(ErrorMessage = "End Date is required."), DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<System.DateTime> EndDate { get; set; }
[必需(ErrorMessage=“需要开始日期”),数据类型(DataType.Date)]
公共可为空的起始日期{get;set;}
[必需(ErrorMessage=“需要结束日期”),数据类型(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString=“{0:dd/MM/yyyy}”)]
公共可为空的结束日期{get;set;}

在datetimepicker声明中,您可以精确指定格式
MM-DD-YYYY
(月-日-年),并在EndDate属性上使用
DataFormatString=“{0:DD/MM/YYYY}”
day/month/year

使用相同的顺序和分隔符,将所有日期格式均匀化,并在StartDate中添加一个
DataFormatString
decorator 在web.config文件中,添加以下行

为dd/MM/yyyy和
年/月/日在美国注册。希望这能有所帮助。

将服务器上的区域性更改为期望该格式的日期的区域性(或创建自定义ModelBinder)