说我有模型属性bool? IsCool
所以我可能想显示 ' Y ' iftrue
和 ' N ' iffalse
<span>@Model.IsCool == true ? Y : N</span>
我认为这应该有效。
option of '-'
但是,如果您希望显示第三个值(如果值为 ),如何让它工作null
?
说我有模型属性bool? IsCool
所以我可能想显示 ' Y ' iftrue
和 ' N ' iffalse
<span>@Model.IsCool == true ? Y : N</span>
我认为这应该有效。
option of '-'
但是,如果您希望显示第三个值(如果值为 ),如何让它工作null
?
@(!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;
}
}
怎么样
<span>@(!Model.IsCool.HasValue ? '-' : (Model.IsCool.Value ? 'Y' : 'N')</span>
它首先检查空值。如果为空,则显示 -
但如果它不为空,那么它会使用第二个三元运算符并根据其值显示 Y 或 N。
<span>
@(Model.IsCool == null ? "-" : ((bool)Model.IsCool) ? "Y" : "N")
</span>
最好的方法是检查该属性是否有任何价值,然后使用它
@(Model.IsCool.HasValue ? (Model.IsCool.Value ? "Y" : "N") : "-" ))