Asp.net mvc 4 MVC4中的日期为1899年12月30日

Asp.net mvc 4 MVC4中的日期为1899年12月30日,asp.net-mvc-4,Asp.net Mvc 4,在我的模型中,我有: [DisplayName("Title Date")] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = ("{0:d}"))] public Nullable<System.DateTime> DateOfTitle { get; set; } [DisplayName(“标题日期”)] [DisplayFormat(ApplyFormatInEditMode=true,DataF

在我的模型中,我有:

[DisplayName("Title Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = ("{0:d}"))]
public Nullable<System.DateTime> DateOfTitle { get; set; }
[DisplayName(“标题日期”)]
[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString=(“{0:d}”))]
公共可为空的DateOfTitle{get;set;}
我的看法是:

<td>@Html.DisplayFor(modelItem => Model.DateOfTitle)</td>
@Html.DisplayFor(modelItem=>Model.DateOfTitle)
数据库中此字段的值为空。我希望
DisplayFor
不显示任何内容,除非此字段有有效日期。它显示为12/30/1899

尝试使用此功能

[DisplayFormat(NullDisplayText = "", 
           ApplyFormatInEditMode = true, DataFormatString = ("{0:d}"))]

由于OP不希望为空日期显示任何内容,
NullDisplayText
可以设置为
。当然,我只是突出显示了属性,但我已对其进行了更改。如果DateOfTitle的值为空,则该属性不应显示任何内容。您必须在代码的某个地方设置一个值。可以通过在将其传递给视图之前显式设置为null来证明这一点。