1

在模型中设置 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 视图。

4

1 回答 1

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())
于 2013-10-24T16:24:12.920 回答