代码之家  ›  专栏  ›  技术社区  ›  aaronmallen

If语句在视图内不起作用

  •  0
  • aaronmallen  · 技术社区  · 11 年前

    我在剃刀视图中有一个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 陈述我试过这样设置语句

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

    但它仍然返回 其他 陈述

    我也试过类似于

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

    我得到一个错误:对象引用没有设置为对象的实例。因为还没有任何东西传递给我的模型。

    1 回复  |  直到 11 年前
        1
  •  0
  •   aaronmallen    11 年前

    受@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