在使用 @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