可空对象必须具有值ASP.NET MVC 5复选框

时间:2014-03-05 17:52:25

标签: c# asp.net-mvc checkbox

嗨,我有一个CheckBox For

@Html.CheckBoxFor(model => model.VisitRequested.Value, new {onClick = "showHide();"})

如果未单击复选框,则抛出异常(上图)。如果复选框仍未选中,我希望该值为0或false。

型号代码为:

[DisplayName("Request a Visit")]
public Nullable<bool> VisitRequested { get; set; }

2 个答案:

答案 0 :(得分:3)

Value的{​​{1}}属性在值为null时(实际上在Nullable<T>时)抛出InvalidOperationException。尝试:

HasValue == false

只需使用@Html.CheckBoxFor(model => model.VisitRequested, new {onClick = "showHide();"}) 并最终将其包含在model.VisitRequested

if

答案 1 :(得分:0)

是的,因为model.HasValue是假的。添加;

 if (model.VisitRequested.HasValue)
    @Html.CheckBoxFor(model => model.VisitRequested.Value, new {onClick = "showHide();"});
 else
    //somethings wrong, not sure what you want to do

基本上表示该对象为null。在你会找到的文档中;

例外:
出现InvalidOperationException 条件:
HasValue属性为false

这就是你遇到的。