【发布时间】:2013-11-13 15:16:13
【问题描述】:
我正在使用带有 Razor 的 ASP.NET MVC 4。我收到验证消息(假设我的文本框中有 20.10.2013):
The field MyNullableDateField must be a date
我的型号代码:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? MyNullableDateField { get; set; }
我的剃须刀:
@Html.EditorFor(m => m.MyNullableDateField, new { @class = "date" })
我的编辑器模板:
@model DateTime?
@Html.TextBox(string.Empty, (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "date" })
为什么会出现这样的错误?
【问题讨论】:
-
重复,属于ASP.NET MVC3 - DateTime format。简而言之:因为
DisplayFormat被默认模型绑定器忽略。创建您自己的模型绑定器。
标签: asp.net-mvc-3 asp.net-mvc-4 razor mvc-editor-templates