在使用 @Html.CheckBoxFor 的时候,发现不可以绑定 bool?类型。
checkbox的理解就是两种状态,选中非选中。而 bool?对应着3个值,这就是为什么不能绑定的逻辑理由吧。所以在设计数据库的时候,对于bool类型的字段,在业务上只存在2中状态的时候,还是设计成不许为空吧。
stackoverflow上也有关于这个问题的讨论
1.http://stackoverflow.com/questions/2267975/asp-net-mvc-checkboxfor-casting-error
2.http://stackoverflow.com/questions/6849774/mvc3-creating-checkbox-for-nullable-boolean