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

use*_*567 1 razor asp.net-mvc-3

我有一个下面的代码,我从中获取时间表格DB并通过模型在我的视图中显示

 <div class="comment_time">@item.dTime</div> 
Run Code Online (Sandbox Code Playgroud)

我想以用户友好的方式显示DateTime.所以,如果在我的项目中保留一个函数来进行转换,我怎么能在我的.cshtml和dispaly中调用它.

对于你在我的场景中使用Annotation的第二个答案

foreach (var item in Model.lstCommet)
   {
 <div class="comment_body">@item.comments</div> 
  <div class="comment_time">@item.dTime</div>
    }
Run Code Online (Sandbox Code Playgroud)

我如何根据你的displayfor回答在lstcomment列表中使用?

谢谢

Dar*_*rov 5

<div class="comment_time">@item.dTime.ToString("dd/MM/yyyy")</div> 
Run Code Online (Sandbox Code Playgroud)

如果你想在视图中调用自定义函数,那些函数在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"));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中:

<div class="comment_time">@Html.MyFunction(item.dTime)</div> 
Run Code Online (Sandbox Code Playgroud)

另一种可能性是使用以下属性在视图模型上简单地修饰[DisplayFormat]属性:

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]]
public DateTime dTime { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中使用DisplayFor帮助器:

@Html.DisplayFor(x => x.dTime)
Run Code Online (Sandbox Code Playgroud)