nullable boolean如何根据值在视图中显示不同的结果

时间:2012-09-13 03:37:03

标签: c# html null boolean return-value

说我有模型属性bool? IsCool

因此如果true ,我可能希望显示“ Y ”和“ N

false

我认为这应该有用。

但是,如果您想要显示第三个<span>@Model.IsCool == true ? Y : N</span> ,如果值为option of '-',您怎么能让它工作?

4 个答案:

答案 0 :(得分:3)

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

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

    public T Value {
        get {
            if (!HasValue) { 
                ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_NoValue);
            } 
            return value; 
        }
    } 

答案 1 :(得分:0)

怎么样

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

首先检查null。如果为null,则显示 -

但是如果它不是null,那么它将用于第二个三元oeprator并根据其值显示Y或N.

答案 2 :(得分:0)

<span>
    @(Model.IsCool == null ? "-" : ((bool)Model.IsCool) ? "Y" : "N")
</span>

答案 3 :(得分:0)

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

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