【问题标题】:Convert bool? to bool in View转换布尔?在视图中布尔
【发布时间】:2013-06-11 09:32:53
【问题描述】:

我的复选框类似于@Html.CheckBoxFor(model => model.SKUs.Jewish),但我在数据库中的犹太人是nullable 类型,所以它给了我一个错误cannot implicitly convert type 'bool?' to 'bool'。如何检查我的模型是否具有值,然后它应该显示否则没有。请帮助。

【问题讨论】:

  • @Html.CheckBoxFor(model => model.SKUs.Jewish.HasValue ? (bool)model.SKUs.Jewish : false)
  • 它给我一个错误:模板只能用于字段访问、属性访问、单维数组索引或单参数自定义索引器表达式。

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

您可以使用以下内容:

@Html.CheckBox("SKUs.Jewish", Model.SKUs.Jewish.GetValueOrDefault());

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

【讨论】:

  • 当以这种方式发送空值发帖?
  • @CanÜrek 嗨,Can,我改进了上面的答案。我认为这样效果更好。
【解决方案2】:

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

【讨论】:

  • 我如何在这段代码中签入@Html.CheckBoxFor(model => model.SKUs.Jewish)?
【解决方案3】:

最后我解决了这个问题。如果您使用的是复选框;取消选中数据库中字段的 Allow Nulls 选项。就是这样!

【讨论】:

  • 如果该字段有时需要为空怎么办?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 2017-09-27
  • 2011-02-25
  • 2019-03-17
相关资源
最近更新 更多