Asp.net mvc 3 DateTime和DisplayFormat属性的MVC3自定义编辑器

Asp.net mvc 3 DateTime和DisplayFormat属性的MVC3自定义编辑器,asp.net-mvc-3,datetime,editorfor,Asp.net Mvc 3,Datetime,Editorfor,我已经为DateTime创建了一个自定义编辑器,并在文本框中添加了一个类名 @model DateTime @Html.TextBoxFor(m => m, new { @class = "date-time-picker" }) 这样我就可以将jquery datepicker连接到it客户端 $("input.date-time-picker").datetimepicker(); 问题是,对于 [DisplayFormat(ApplyFormatInEditMode = tru

我已经为DateTime创建了一个自定义编辑器,并在文本框中添加了一个类名

@model DateTime
@Html.TextBoxFor(m => m, new {  @class = "date-time-picker" })
这样我就可以将jquery datepicker连接到it客户端

$("input.date-time-picker").datetimepicker();
问题是,对于

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:g}")]
属性来工作您需要使用内置的EditorFor(或者提取模型元数据,自己做同样的事情),那么覆盖默认EditorFor的最佳方法是什么,添加类名并调用内置的EditorFor,这样我就可以使用DisplayFormat属性了(OP在问题编辑中回答的问题。转换为社区wiki答案。请参阅)

OP写道:

我通过这样做解决了这个问题,但感觉就像是重新发明了轮子

(OP在问题编辑中回答的问题。转换为社区wiki答案。请参阅)

OP写道:

我通过这样做解决了这个问题,但感觉就像是重新发明了轮子


尝试为您的属性使用UIHint DataAnnotation。也许它可以工作。具体如何?我知道您可以使用它来指定要使用的视图..但这在这里有什么帮助?尝试为您的属性使用UIHint DataAnnotation。也许它可以工作。具体如何?我知道您可以使用它来指定要使用的视图..但这在这里有什么帮助?
@model DateTime  
@Html.TextBox("", string.Format(ModelMetadata.FromLambdaExpression(x => x, ViewData).DisplayFormatString, Model), new { @class = "date-time-picker" })