2017-10-17 17 views
2

我有startdateenddate列当我选择日期小于或等于12它做工精细,但是当我选择日期大于12,它给nul升值的ActionResult 。的DateTimePicker给空值的ActionResult时大于12 MVC 5

这是我正在使用的功能。

$(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; } 
+0

将服务器上的文化更改为预期该格式日期的文化(或创建自定义ModelBinder) –

回答

1

里面<system.web></system.web> ,加入这一行 <globalization culture="en-GB" uiCulture="en-GB" />

设置dd/MM/yyyy的文化en-GB和mm/dd/yyyy的文件设置为012-。希望这可以帮助。

+0

感谢您的帮助。这项工作对我来说很好... –

1

在声明的DateTimePicker你精确的格式MM-DD-YYYY(月 - 日 - 年),并在您使用DataFormatString = "{0:dd/MM/yyyy}"天/月/年的结束日期属性。

均质所有的日期格式,使用相同的顺序和相同的分离器,并在你的web.config文件中添加DataFormatString装饰上也开始日期

相关问题