Asp.net mvc 4 MVC4中的日期时间格式-显示模板

Asp.net mvc 4 MVC4中的日期时间格式-显示模板,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我使用的是MVC4,在我的模型上有很多DateTime?类型的属性 我想我可以创建一个DisplayTemplate(在Shared\DisplayTemplates中),它可以按照我的意愿格式化我的日期 然而,这不起作用。它不会以指定的格式输出日期。任何帮助都将不胜感激 型号: [Display(Name = "Date Submitted")] [DataType(DataType.DateTime)] public DateTime? DateSubmitted {

我使用的是MVC4,在我的模型上有很多DateTime?类型的属性

我想我可以创建一个DisplayTemplate(在Shared\DisplayTemplates中),它可以按照我的意愿格式化我的日期

然而,这不起作用。它不会以指定的格式输出日期。任何帮助都将不胜感激

型号:

    [Display(Name = "Date Submitted")]
    [DataType(DataType.DateTime)]
    public DateTime? DateSubmitted { get; set; }'
视图:

显示模板:

    DateTime?:
    @model DateTime?
    @string.Format("{0:yyyy-MM-dd}", Model)

试着这样写:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
您可以从(示例部分)了解更多信息

或者,如果您希望在视图中执行此操作,可以在MVC4中编写如下内容

@Html.TextBoxFor(x => x.DatePurchase, "{0:yyyy-MM-dd}")

使用属性:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
明白了

如果你注意到我的房子里有

    [DataType(DataType.DateTime)]
在应该的地方:

     [DataType(DataType.Date)]
Doh


感谢您的帮助。

@Model.ToString(“yyyy-MM-dd”)……不过,输入时,FaceHank中会出现一个空值。我想在模板中保留所有格式,这就是为什么我不想注释每个日期属性。如果它真的爆炸了,至少我会知道它是一个工作的笔记-我正在使用这个伟大的链接
     [DataType(DataType.Date)]