我尝试在视图中格式化日期时间。
<span class="tag">
@Html.DisplayFor(modelItem => item.PostDate.ToString("yyyy"))
</span>
这是我收到的错误消息。
模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。
我该如何解决?
答案 0 :(得分:4)
使用[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>
但如果你在很多地方都有这种方法,那么第一种方法更可取,因为格式将集中在一个地方。
答案 1 :(得分:0)
您可以按以下方式格式化DateTime。它显示完整的日期和时间。
[DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)]
public DateTime PostDate { get; set; }
然后像这样使用它进入View。
@Html.DisplayFor(model => model.PostDate)
答案 2 :(得分:0)
@Html.DisplayFor(modelItem => item.PostDate).ToString().Substring(5,4)
因此,您可以剪切DateTime
格式化字段的任何部分。