有没有办法使用Nullable Bool属性的复选框

时间:2014-07-07 15:56:11

标签: razor asp.net-mvc-5 editorfor

我有一个名为ISFullDay的Nullable bool属性,我需要有三个值: - 真,假&空值。 目前在我的asp.net mvc视图中,我在我的视图中写了以下内容: -

@Html.EditorFor(a=>a.ISFullDay)

但是mvc处理它的方式如下: - “如果用户取消选中复选框,则会传递错误”。所以通过这种方式,如果我使用复选框,我的null bool里面就不能有Null值?那么我应该修改我的视图以显示两个单选按钮而不是复选框吗?

由于

1 个答案:

答案 0 :(得分:1)

复选框用于二元选择。布尔值在MVC中可以为Nullable的原因是因为大多数数据库允许其布尔字段为空,所以唯一的时间值为null将是已经存在的条目尚未通过Razor(或者如果布尔值不是出于某种原因设置创作。)

如果你真的想要能够重新选择null,我会选择Shoe建议的3个单选按钮组或下拉列表,这将自动创建空选择。

编辑:

在某些情况下,如果希望null在提交时保持不变并且仅在进行选择时更改,则设置2单选按钮可能是有意义的。这将在提交时允许布尔字段上的null,但是一旦提交更改,就不能在不直接在数据库中更改它的情况下返回null。