在模型中设置date属性时,执行:
if (!(rdr["JobEnded"] is DBNull)) { job.JobEnded = (DateTime)rdr["JobEnded"]; }
导致job.JobEnded为1/1/0001 12:00:00 AM。
我可以用什么代替
@Html.DisplayFor(modelItem => item.JobEnded)
显示“进行中”而不是“1/1/0001 12:00:00 AM”。
我尝试在视图中添加if / else,但只能显示有效日期或什么都没有。我确信我错过了一些非常基本的东西,因为这是我第一次尝试APS.NET MVC视图。
答案 0 :(得分:2)
您在这里处理默认日期,因此要测试它,您需要使用:
@if (item.JobEnded == default(DateTime))
{
@:In Progress
}
else
{
@Html.DisplayFor(m => item.JobEnded)
}
或以单行形式:
@((item.JobEnded == default(DateTime)) ? "In Progress" : Html.DisplayFor(m => item.JobEnded).ToString())