假设我的表格很长,用户可以输入许多不同的可选值。
这些可选值之一是布尔值。根据用户输入,我需要在我的数据库中执行以下操作:
但是,我能找到的最正常的viewmodel / razor代码如下:
@Html.LabelFor(m => m.FurnitureIsIncluded)
@Html.RadioButtonFor(model => model.FurnitureIsIncluded, true) Ja
这里我的值为false,作为布尔值的默认值。
在MVC中修复此问题的方法是什么?
答案 0 :(得分:2)
在视图模型中为FurnitureIsIncluded
使用可以为空的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>
然后根据选择发回true
或false
或null
。然后,您需要测试true / false以将值保存为“1”或“0”