我有int?
类型的属性,其值可以是1,2,3或null。
我想渲染4个单选按钮来表示这些选择。对于值1,2和3这样的东西效果很好:
<input type="radio" asp-for="Score" value="3" class="form-control" />
但是,如果我为null值执行此类操作,则它只能部分工作:
<input type="radio" asp-for="Score" value="" class="form-control" />
当我提交表单时,模型绑定会按预期将null放入属性值,但是当Score
为null时呈现表单时,将检查单选按钮的 none 。
我知道我可以像0那样使用一些“null替换值”,但在我开始在控制器中编写大量if (x == 0) x = null;
代码之前,我想知道是否有更优雅的方法来处理这个问题。情况。
答案 0 :(得分:0)
您可以将第二行代码更改为
<input type="radio" asp-for="Score" value="" class="form-control"
@(Model.Score == null ? "checked='checked'" : "")/>
通过这种方式,当表格呈现时,将检查此广播是否为Model.Score == null
。