1

モデルプロパティがあるとしますbool? IsCool

そのため、「 Y」の場合trueと「N」の場合を表示したい場合がありますfalse

<span>@Model.IsCool == true ? Y : N</span>

私はそれがうまくいくと思います。

option of '-'ただし、値が の場合に3 番目を表示したい場合、どのように機能させることができますnullか?

4

4 に答える 4

3
@(!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; 
        }
    } 
于 2012-09-13T03:48:13.337 に答える
0

最善の方法は、プロパティに値があるかどうかを確認してから、それを使用することです。

@(Model.IsCool.HasValue ? (Model.IsCool.Value ? "Y" : "N") : "-" ))
于 2012-09-13T03:49:16.620 に答える
0

どうですか

<span>@(!Model.IsCool.HasValue ? '-' : (Model.IsCool.Value ? 'Y' : 'N')</span>

最初に null をチェックします。null の場合は、次のように表示されます -

ただし、null でない場合は、2 番目の 3 項演算子が使用され、その値に応じて Y または N が表示されます。

于 2012-09-13T03:39:32.930 に答える
0
<span>
    @(Model.IsCool == null ? "-" : ((bool)Model.IsCool) ? "Y" : "N")
</span>
于 2012-09-13T03:40:02.543 に答える