モデルプロパティがあるとしますbool? IsCool
そのため、「 Y」の場合true
と「N」の場合を表示したい場合がありますfalse
<span>@Model.IsCool == true ? Y : N</span>
私はそれがうまくいくと思います。
option of '-'
ただし、値が の場合に3 番目を表示したい場合、どのように機能させることができますnull
か?
モデルプロパティがあるとしますbool? IsCool
そのため、「 Y」の場合true
と「N」の場合を表示したい場合がありますfalse
<span>@Model.IsCool == true ? Y : N</span>
私はそれがうまくいくと思います。
option of '-'
ただし、値が の場合に3 番目を表示したい場合、どのように機能させることができますnull
か?
@(!Model.IsCool.HasValue ? "-" : Model.IsCool.Value ? "Y" : "N")
HasValueは、Nullable型の単純なプライベートブールプロパティです。Nullableに値がある場合はtrueに設定されます。そして、Valueは「bool?」のTタイプのプロパティにすぎません。それは「ブール」になります:
public T Value {
get {
if (!HasValue) {
ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_NoValue);
}
return value;
}
}
最善の方法は、プロパティに値があるかどうかを確認してから、それを使用することです。
@(Model.IsCool.HasValue ? (Model.IsCool.Value ? "Y" : "N") : "-" ))
どうですか
<span>@(!Model.IsCool.HasValue ? '-' : (Model.IsCool.Value ? 'Y' : 'N')</span>
最初に null をチェックします。null の場合は、次のように表示されます -
ただし、null でない場合は、2 番目の 3 項演算子が使用され、その値に応じて Y または N が表示されます。
<span>
@(Model.IsCool == null ? "-" : ((bool)Model.IsCool) ? "Y" : "N")
</span>