2014-10-20 252 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; } 

希望它可以帮助..