我有一个下面的代码,我从中获取时间表格DB并通过模型
显示在我的视图中 <div class="comment_time">@item.dTime</div>
我想以用户友好的方式显示DateTime。所以,如果在我的项目中保留一个函数来进行转换,我怎么能在我的.cshtml和显示中调用它。
在我的方案中使用Annotation的第二个答案
foreach (var item in Model.lstCommet)
{
<div class="comment_body">@item.comments</div>
<div class="comment_time">@item.dTime</div>
}
我如何根据你的回答在lstcomment列表中使用displayfor
?
由于
答案 0 :(得分:5)
<div class="comment_time">@item.dTime.ToString("dd/MM/yyyy")</div>
如果您想在视图中调用自定义函数,那么这些函数在ASP.NET MVC中有一个名称。他们被称为html助手。所以你可以写一个自定义的html助手:
public static class HtmlHelperExtensions
{
public static IHtmlString MyFunction(this HtmlHelper html, DateTime value)
{
return new HtmlString(value.ToString("dd/MM/yyyy"));
}
}
然后在你的视图中:
<div class="comment_time">@Html.MyFunction(item.dTime)</div>
另一种可能性是使用[DisplayFormat]
属性在视图模型上简单地修饰属性:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]]
public DateTime dTime { get; set; }
然后在您的视图中使用DisplayFor
帮助程序:
@Html.DisplayFor(x => x.dTime)
答案 1 :(得分:0)
为什么不拨打.ToString()
?您可以传递所需的格式。