我希望31-12-2015 Date formate进入我的控制器。但在我的情况下,当我尝试在调试模式下将我的日期从视图发布到控制器时,它向我展示了mm-dd-yyyy(12-31-2015)现在如何获得我的合成。
例如,当我输入以下日期时
1)12-30-2016我进入我的控制器
2)30-12-2016我没有把日期记录到我的控制器中。
模型
[Required(ErrorMessage = "Enter Date")]
[DisplayName("Payment Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/mm/yyyy}")]
public DateTime Date { get; set; }
查看
@Html.TextBoxFor(model => model.Date,new { @class = "k-input datepickerbootstrap", @required = "required", @id = "Date", @name = "Date" })
Javascript
$('.datepickerbootstrap').datepicker({
autoclose: true,
format: 'dd-mm-yyyy',
});
答案 0 :(得分:0)
很可能您使用en-US
种使用MM/dd/yyyy
日期格式的文化。您需要将服务器文化更改为使用dd/MM/yyyy
格式的文化(例如en-GB
)
您可以通过网络配置执行此操作:
<configuration>
<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>
</configuration>
修改强>
正如斯蒂芬在评论中指出的那样,在datepicker配置中使用的格式必须与服务器文化定义的格式匹配,所以
如果我们以en-GB
文化为例,因为它的日期格式为dd/MM/yyyy
,则datepicker格式必须相同:
$('.datepickerbootstrap').datepicker({
autoclose: true,
format: 'dd/mm/yyyy',
});