1

说我有模型属性bool? IsCool

所以我可能想显示 ' Y ' iftrue和 ' N ' iffalse

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

我认为这应该有效。

option of '-'但是,如果您希望显示第三个值(如果值为 ),如何让它工作null

4

4 回答 4

3
@(!Model.IsCool.HasValue ? "-" : Model.IsCool.Value ? "Y" : "N")

HasValue 只是 Nullable 类型的私有布尔属性。当 Nullable 有值时,它设置为 true。而 Value 只是 T 类型的一个属性,对于“bool?” 它将是“布尔”:

    public T Value {
        get {
            if (!HasValue) { 
                ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_NoValue);
            } 
            return value; 
        }
    } 
于 2012-09-13T03:48:13.337 回答
0

怎么样

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

它首先检查空值。如果为空,则显示 -

但如果它不为空,那么它会使用第二个三元运算符并根据其值显示 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 回答
0

最好的方法是检查该属性是否有任何价值,然后使用它

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