ViewModel DisplayFormat 数据注释未在视图中呈现

ViewModel DisplayFormat Data Annotation not rendered in View

使用 ASP.NET 5 Web 应用程序模板 我正在尝试以短日期格式呈现日期。我的视图模型看起来像这样

    [Display(Name = "Subscription Expires")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    public DateTime? SubscriptionExpires { get; set; }

我的观点是这样的

    <dt><label asp-for="SubscriptionExpires"></label>:</dt>
<dd>
    @Model.SubscriptionExpires
</dd>

但是 @Model.SubscriptionExpires 以长日期格式呈现。如何让视图以短日期格式呈现日期?

您直接将日期输出到页面,没有机会考虑您的数据注释。

HTML 助手查看这些注释,因此您可以简单地这样做:

@Html.DisplayFor(model => model.SubscriptionExpires)

或者像这样简单地格式化日期:

@Model.SubscriptionExpires.ToShortDateString()