嗨,我有一个CheckBox For
@Html.CheckBoxFor(model => model.VisitRequested.Value, new {onClick = "showHide();"})
如果未单击复选框,则抛出异常(上图)。如果复选框仍未选中,我希望该值为0或false。
型号代码为:
[DisplayName("Request a Visit")]
public Nullable<bool> VisitRequested { get; set; }
答案 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
这就是你遇到的。