将bool?转换为bool在视图中

6

我在我的页面上有一个复选框,代码如下:@Html.CheckBoxFor(model => model.SKUs.Jewish),但是我的数据库中的Jewish字段是nullable类型,所以它会给我一个错误提示:cannot implicitly convert type 'bool?' to 'bool'。我该如何检查我的模型是否有值,如果有则显示,否则不显示呢?请帮帮我。


@Html.CheckBoxFor(model => model.SKUs.Jewish.HasValue ? (bool)model.SKUs.Jewish : false)请将上述代码翻译为中文。 - Steve
它给了我一个错误:只能在字段访问、属性访问、单维数组索引或单参数自定义索引器表达式中使用模板。 - DharaPPatel
https://dev59.com/vGw15IYBdhLWcg3wD3np - Raphaël Althaus
3个回答

6
您可以使用以下内容:
@Html.CheckBox("SKUs.Jewish", Model.SKUs.Jewish.GetValueOrDefault());

如果未设置该值,则使用可空类型的默认值,即false。

以这种方式发送帖子时会发送空值? - Can Ürek
@CanÜrek 你好,Can。我改进了上面的答案。我认为这样更好。 - hutchonoid

0

使用可空类型,您可以通过thing.HasValue检查它是否具有值,并使用thing.Value获取实际值。


在这段代码中,我该如何检查@Html.CheckBoxFor(model => model.SKUs.Jewish)? - DharaPPatel

0

最后我解决了那个问题。如果您正在使用复选框,请在数据库中取消选中字段的允许空值选项。就这样!


1
如果字段有时需要为空,该怎么办? - Ege Bayrak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接