我的剃刀视图中有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
无论@IF
语句返回ELSE
语句,我可以从Debug中判断出什么。我试过像这样设置语句
@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
我收到一个错误:对象引用未设置为对象的实例。因为还没有传递给我的模型。
答案 0 :(得分: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