我有一个Nullable<bool>
属性作为我的模型的一部分,null完全有效:
public class IndexModel
{
[DisplayName("Archived")]
public bool? FilterArchived { get; set; }
}
但是,当它到达控制器操作时,如果它为null,则验证失败。我现在必须做以下事情来解决这个问题:
public ActionResult Index(IndexModel viewModel)
{
ModelState.Remove("FilterArchived");
// ......
}
为什么FilterArchived
属性在ModelState
为null时会产生错误,如何阻止它?
确切的验证错误是:
值'null'对于Archived无效。
答案 0 :(得分:2)
“Null”不是bool?
要成功将null
绑定到模型值,必须缺少空字符串。