0

我的剃刀视图中有一个 if 语句不起作用,我不知道为什么:

@If Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Month) Is "" Then
                @<p></p>
Else
                @<p>@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Month)/@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Day)/@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Year)</p>
End If

我可以从 Debug 中看出无论@IF语句返回什么ELSE语句。我试过这样设置语句

@If Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Month) Is Nothing Then

但它仍然返回ELSE语句。

我也尝试过类似的 if 语句

@If IsNothing(Model.PS.DateStart) Then
  @<p></p>
Else
  @<p>@Html.DisplayFor(Function(m) m.PS.DateStart)</p>  
End If

我得到一个错误:对象引用未设置为对象的实例。因为尚未将任何内容传递给我的模型。

4

1 回答 1

0

受@Nick 评论启发,这里是解决方案:

@If Html.DisplayFor(Function(m) m.PS.DateStart).ToString = "" Then
 @<p></p>
Else
 @<p>@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Month)/@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Day)/@Html.DisplayFor(Function(m) CDate(m.PS.DateStart).Year)</p>
End If
于 2013-10-14T20:03:33.197 回答