2011-09-09 103 views
3

格式化日期時間asp.net MVC3我嘗試格式化視圖中的日期時間。你怎麼認爲

<span class="tag"> 
     @Html.DisplayFor(modelItem => item.PostDate.ToString("yyyy")) 
</span> 

這是我得到的錯誤信息。

模板只能與現場訪問,屬性訪問,一維數組的索引,或者單參數定製索引表達式中使用。

如何解決呢?

+1

這個問題在這裏回答http://stackoverflow.com/questions/6001654/how-to-render-a-datetime-in-a-specific-format-in-asp-net-mvc-3 – kmcc049

+1

回答我自己的問題:@ item.PostDate.ToString(「dd MMM yyyy」) – qinking126

回答

4

你裝飾用[DisplayFormat]屬性您的視圖模型屬性:

[DisplayFormat(DataFormatString = "{0:yyyy}", ApplyFormatInEditMode = true)] 
public DateTime PostDate { get; set; } 

,並在你看來,你只需使用Html.DisplayFor方法:

<span class="tag"> 
    @Html.DisplayFor(modelItem => item.PostDate) 
</span> 

,或者您也可以使用:

<span class="tag"> 
    @item.PostDate.ToString("yyyy") 
</span> 

,但如果你有這個在很多地方第一種方法最好是導致格式將集中在一個位置。

0

您可以通過以下方式格式化日期時間。它顯示完整的日期和時間。

[DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)] 
public DateTime PostDate { get; set; } 

然後使用它進入像這樣的視圖。

@Html.DisplayFor(model => model.PostDate) 
0

@Html.DisplayFor(modelItem => item.PostDate).ToString().Substring(5,4)

所以,你可以減少你的DateTime格式字段的任何部分。