2014-09-27 79 views
0

我想将日期时间转换为字符串,我使用的是foreach。实体框架DateTime到字符串?

我的代码:

@foreach (var item in db.FrontTexts.Where(i => i.Placeholder == "Privacy")) 
{ 
    <h2>@item.Heading</h2> 
    @Html.Raw(item.Text) 
    <p>This document was last updated: @item.LastUpdated.ToString("dd/MM/yyyy")</p> 
} 

它给我下的 “DD/MM/YYYY” 一个美丽的红线说:

法 “的ToString” 有0参数(一个或多个),但invokved有1个参数。

在使用WebMatrix.Data进行正常查询时,您可以轻松地将DateTime转换为类似上面的字符串,那么如何在实体框架中实现这一点?

+2

我想'LastUpdated'不是'DateTime'但是''日期时间(可以为null)?当然,它只有一个方法ToString()。尝试'LastUpdated.Value.ToString(“dd/MM/yyyy”)' – Jonik 2014-09-27 20:49:30

+0

并且认为'LastUpdated'可以为null,所以你可以得到** InvalidOperationException **为'LastUpdated.Value.ToString(“dd/MM/YYYY“)'。 – Jonik 2014-09-27 20:58:45

回答

0

对于Nullable类型有ToString()方法没有参数。所以你必须首先检查它不是零和呼叫ToString()方法之后:

<p>This document was last updated: @if(item.LastUpdated.HasValue){<text>@item.LastUpdated.Value.ToString("dd/MM/yyyy")</text>}else{<text>N/A</text>}</p>

+0

谢谢你的快速回答!有用! – Mikkel 2014-09-27 21:21:50