gpt4 book ai didi

asp.net - 如何创建模型绑定(bind)的“是/否”单选按钮,该按钮在 ASP.NET MVC 中的页面加载时未选择任何选项?

转载 作者:行者123 更新时间:2023-12-02 10:15:18 24 4
gpt4 key购买 nike

我的 View 模型中有一个可为 null 的 bool 属性:

public class ViewModel
{
[Required(ErrorMessage="Please select yes or no")]
public bool? Completed { get; set; }
}

我希望此属性的表单控件是一对单选按钮,在页面加载时最初没有选择任何一个选项。这是因为我们希望用户有意识单击一个选项或另一个选项(而不是复选框,后者很容易被忽略并保留为默认值)。

bool 属性需要可为空,因为否则在页面加载时已经检查了“NO”选项,正如我上面提到的,这不是我们想要的。但是,在 View 中使用以下代码:

<label>@Html.RadioButton("Completed", Model.Completed) YES</label>
<label>@Html.RadioButton("Completed", !Model.Completed) NO</label>

导致运行时错误,因为助手尝试绑定(bind)的模型属性为 null。

如何实现这种最初未选择的状态?

最佳答案

尝试这样:

<label>@Html.RadioButton("Completed", "true") YES</label>
<label>@Html.RadioButton("Completed", "false") NO</label>

但是由于您已经有了一个 View 模型,因此最好使用强类型版本的助手:

<label>@Html.RadioButtonFor(x => x.Completed, "true") YES</label>
<label>@Html.RadioButtonFor(x => x.Completed, "false") NO</label>

关于asp.net - 如何创建模型绑定(bind)的“是/否”单选按钮,该按钮在 ASP.NET MVC 中的页面加载时未选择任何选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com