【发布时间】:2015-05-22 16:46:28
【问题描述】:
我在视图中有一个CheckBoxFor 用于bool? 字段,但是它用红色表示:
不能隐式转换布尔值?布尔,你错过了演员表
问题是,这是在 lambda 中:
bool? nullable {get; set;}
CheckBoxFor(m => m.nullable)
如果不是 lambda,我知道我可以做到:
(bool)nullable
但我不确定如何在 lambda 中执行此操作以消除此错误。我试着做
CheckBoxFor(m => m.nullable.value)
但这似乎并没有在控制器中保留它的值,我得到了一个空值。
【问题讨论】:
-
如果值为
null,您实际期望发生什么? -
写
CheckBoxFor(m => (bool)m.nullable)会发生什么? Lambda 只是匿名方法。 -
@neontapir 我想我试过了,但它不喜欢它,让我再试一次。
-
CheckBoxFor(m => m.nullable ?? false)怎么样 -
我认为
CheckBoxFor需要MemberExpression,而空合并显然不是