MVC Razor视图---日期时间显示

时间:2013-02-26 09:06:28

标签: asp.net-mvc-3 razor

我有一个下面的代码,我从中获取时间表格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

由于

2 个答案:

答案 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()?您可以传递所需的格式。

相关问题