说我有模型属性bool? IsCool
因此如果true
1>,我可能希望显示“ Y ”和“ N ”
false
我认为这应该有用。
但是,如果您想要显示第三个<span>@Model.IsCool == true ? Y : N</span>
,如果值为option of '-'
,您怎么能让它工作?
答案 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") : "-" ))