asp.net-mvc – ASP.NET MVC显示格式不会将DateTime格式化为日期字符串

我的显示格式设置如此

<DisplayName("birthdate")> _
<DisplayFormat(ApplyFormatInEditMode:=True, DataFormatString:="{0:MM/dd/yyyy}")> _
Public Property BirthDate As DateTime

然后在视图中我有以下内容

<%: Html.TextBoxFor(Function(model) model.BirthDate, Model.BirthDate)%>
<%: Html.ValidationMessageFor(Function(model) model.BirthDate) %>

意味着输出“应该”

6/24/1982

但不幸的是,输出是

6/24/1982 12:00:00 AM

有谁知道我在这里可能会缺少什么?

最佳答案
从Codeplex挖掘MVC2源代码,我最好的猜测是你需要使用EditorFor而不是TextBoxFor. TextBoxFor使用

string valueParameter = Convert.ToString(value, CultureInfo.CurrentCulture);

忽略格式属性(虽然它确实通过ModelMetadata类查找它们),而EditorFor和DisplayFor构建在使用格式属性的内部TemplateHelpers上.

转载注明原文:asp.net-mvc – ASP.NET MVC显示格式不会将DateTime格式化为日期字符串 - 代码日志