2014-10-20 309 views
3

我在MVC5和EntityFramework中工作,以便將數據顯示到View中。僅顯示MVC中@ Html.DisplayFor()的日期

現在在我看來,數據格式爲: - 2014年10月22日12:00:00 AM 但我只想要日期: -

我試試這個代碼22/10/2014在這種格式,但它不工作

@if (item.chekin_on_after != null) 
        { @Html.DisplayFor(modelItem => item.chekin_on_after, "ShortDateTime")} 

我也跟着在計算器幾個鏈接,但沒有幫助Date Format using Html.DisplayFor() in MVC5Display only date and no time

+0

您可以添加' [DisplayFormat]屬性或創建一個自定義的'DisplatTemplate'來格式化日期 – 2014-10-20 11:45:24

+0

我的模型類由數據庫,實體框架生成,如果將來我會更新我的DataModel,那麼它將會丟失。 – Anjyr 2014-10-20 12:19:34

+1

爲什麼使用視圖模型來表示要顯示的數據的最佳實踐 – 2014-10-20 12:21:04

回答

10

我@ html.DisplayFor()代替這個不能用,我使用

@Convert.ToString(string.Format("{0:dd/MM/yyyy}", item.chekin_on_after)) 

而且這工作完全

+0

完美的作品!謝謝Sadhana – 2017-04-24 21:28:07

1

您可以將數據填充到模型前,在你的控制器使用此功能:

public static System.DateTime ParseDate(string value, string style) 
{ 
    DateTime blankDate = default(DateTime); 
    if ((value != null & value.Length > 0)) { 
     string formattedDate = Strings.Format(Convert.ToDateTime(value), style); 
     return formattedDate; 
    } else { 
     return blankDate; 
    } 
} 

價值在哪裏你:10/22/2014 12:00:00 AM和風格是:"MM/dd/yyyy"什麼的,只要你想

+0

我的模型和視圖是由實體框架生成的,它返回一個** LIST **,以便我放置此代碼。我有點混淆我如何使用此代碼。 – Anjyr 2014-10-20 12:44:30

3

嘗試在你的模型類使用下面的屬性。

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

希望它可以幫助..