如何在视图模型中创建可选的“是/否”单选按钮

本文关键字:单选按钮 视图 模型 创建 | 更新日期: 2023-09-27 18:20:32

假设我有长表单,用户可以输入许多不同的可选值。

其中一个可选值是布尔值。根据用户输入,我需要在数据库中执行以下操作:

  • 如果"是",则在数据库中添加"1"
  • 如果"否",则在数据库中添加"0"
  • 如果输入非,则在数据库中添加"null"

然而,我能找到的最普通的视图模型/剃刀代码如下:

    @Html.LabelFor(m => m.FurnitureIsIncluded)
    @Html.RadioButtonFor(model => model.FurnitureIsIncluded, true) Ja

这里我的值是false,作为布尔值的默认值。

在MVC中有什么方法可以解决这个问题?

如何在视图模型中创建可选的“是/否”单选按钮

在视图模型中为FurnitureIsIncluded使用可为null的bool

@Html.RadioButtonFor(m => m.FurnitureIsIncluded, "true")<span>Yes</span>
@Html.RadioButtonFor(m => m.FurnitureIsIncluded, "false")<span>No</span>
@Html.RadioButtonFor(m => m.FurnitureIsIncluded, "", Model.FurnitureIsIncluded.HasValue ? null : new { @checked = "checked" })<span>Cant decide</span>

然后,这将基于所述选择回发truefalsenull。然后,您需要测试true/false以将值保存为"1"或"0"