【问题标题】:asp.net mvc3 how do you format the datetime in the viewasp.net mvc3 如何在视图中格式化日期时间
【发布时间】:2011-09-09 01:41:29
【问题描述】:

我尝试在视图中格式化日期时间。

<span class="tag">
        @Html.DisplayFor(modelItem => item.PostDate.ToString("yyyy"))  
</span>

这是我收到的错误消息。

模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。

我该如何解决?

【问题讨论】:

标签: asp.net-mvc-3


【解决方案1】:

您使用[DisplayFormat] 属性装饰您的视图模型属性:

[DisplayFormat(DataFormatString = "{0:yyyy}", ApplyFormatInEditMode = true)]
public DateTime PostDate { get; set; }

在您看来,您只需使用 Html.DisplayFor 方法:

<span class="tag">
    @Html.DisplayFor(modelItem => item.PostDate)
</span>

或者你也可以使用:

<span class="tag">
    @item.PostDate.ToString("yyyy")
</span>

但如果您在很多地方都有此功能,则首选第一种方法,因为格式将集中在一个位置。

【讨论】:

    【解决方案2】:

    您可以通过以下方式格式化您的 DateTime。它显示完整的日期和时间。

    [DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)]
    public DateTime PostDate { get; set; }
    

    然后像这样在 View 中使用它。

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

    【讨论】:

      【解决方案3】:

      @Html.DisplayFor(modelItem =&gt; item.PostDate).ToString().Substring(5,4)

      因此您可以剪切DateTime 格式字段的任何部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        相关资源
        最近更新 更多