ViewModel DisplayFormat数据注释未在View中呈现

时间:2016-01-13 05:18:22

标签: asp.net-core asp.net-core-mvc

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

    [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以长日期格式呈现。如何使视图以短日期格式呈现日期?

1 个答案:

答案 0 :(得分:1)

您直接将日期输出到页面,您的数据注释无法被考虑。

HTML帮助器会查看这些注释,因此您只需执行此操作:

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

或者只是简单地格式化日期:

@Model.SubscriptionExpires.ToShortDateString()