CheckBox连接到的字段是可空的.
在我看来,我收到以下错误:
无法隐式转换类型'bool?' 'bool'
<%= Html.CheckBoxFor(model => model.Product.Exclusive) %>
Run Code Online (Sandbox Code Playgroud)
如何在不更改数据库设计的情况下修复它?
我是WebForms到MVC的新手.我有类型的视图模型字段bool?,默认情况下,EditorFor()将此字段呈现为具有"未设置"选项的DropDownList.我更喜欢将其渲染为CheckBox,如果值为null,则将其设置为未选中.
字段名称是RFP.DatesFlexible,因此我在视图中编写了以下标记:
<input type="checkbox" id="RFP_DatesFlexible" name="RFP.DatesFlexible" />
<label for="RFP_DatesFlexible">My Dates are Flexible</label>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.结果始终为null并且ModelState.IsValid为false.
谁能说我怎么能做这个工作?
编辑
这是我最终得到的代码,似乎工作正常.
@Html.CheckBox("RFP.DatesFlexible", Model.RFP.DatesFlexible ?? false)
@Html.Label("RFP.DatesFlexible", "My Dates are Flexible")
Run Code Online (Sandbox Code Playgroud)
标签与复选框正确关联,以便单击文本将切换复选框.
我在我的复选框是这样的,@Html.CheckBoxFor(model => model.SKUs.Jewish)但我的数据库中的犹太人是nullable类型,所以它给了我一个错误cannot implicitly convert type 'bool?' to 'bool'.如何检查我的模型它有值,然后它应该显示其他not.please帮助.
我刚刚开始学习ASP.NET MVC.我将如何创建可重用的三态checbox?在WebForms中,这将是一个控件,但我不知道MVC等价物.