CheckBox连接到的字段是可空的.
在我看来,我收到以下错误:
无法隐式转换类型'bool?' 'bool'
<%= Html.CheckBoxFor(model => model.Product.Exclusive) %>
Run Code Online (Sandbox Code Playgroud)
如何在不更改数据库设计的情况下修复它?
pdr*_*pdr 18
Exclusive不能为Nullable,在评估表达式时ViewEngine没有任何意义.它必须选中或不选中复选框,并使用true
或false
值进行响应.您的模型需要具有bool
值,但这并不意味着您的数据库必须知道这一点.你只需要在数据库和模型之间进行翻译,例如.Model.Exclusive = DAO.Exclusive ?? false
.
如果不知道null在数据模式中表示什么或者如何生成模型对象,那么很难给出更多详细信息.
编辑:没有测试这个,但你可能会逃避一些简单的事情
public bool NoNullExclusive
{
get { return Exclusive ?? false; }
set { Exclusive = value; }
}
Run Code Online (Sandbox Code Playgroud)
并取代
<%= Html.CheckBoxFor(model => model.Product.Exclusive) %>
Run Code Online (Sandbox Code Playgroud)
同
<%= Html.CheckBoxFor(model => model.Product.NoNullExclusive) %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9122 次 |
最近记录: |