2014-09-27 77 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