格式化DateTime错误“方法'ToString'没有重载需要1个参数”

时间:2013-10-17 02:13:51

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

在MVC Razor视图中,我正在尝试格式化DateTime字段以仅显示时间。使用下面的代码我收到错误“方法'ToString'没有重载需要1个参数”

<td>@(Html.DisplayFor(m=>row.LastUpdatedDate).ToString("HH:mm:ss"))</td>

请问有什么问题导致此错误以及如何解决?

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

尝试在模型中的属性上使用System.ComponentModel.DataAnnotations.DisplayFormat属性。

...
[DisplayFormat(DataFormatString = "{0:HH:mm:ss}")]
public DateTime LastUpdatedDate{get; set;}
...

答案 1 :(得分:2)

DisplayExtensions.DisplayFor返回MvcHtmlString,其中ToString没有一个参数,从而导致您看到错误。

如果您只需要显示日期时间值,则可能甚至不需要DisplayFor

<td>@row.LastUpdatedDate.ToString("HH:mm:ss")</td>