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

デバッグからわかることは、@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 に答える