我的视图模型中有一个可为空的布尔属性:
public class ViewModel
{
[Required(ErrorMessage="Please select yes or no")]
public bool? Completed { get; set; }
}
我希望此属性的表单控件是一对单选按钮,最初在页面加载时没有选择任何选项。这是因为我们希望用户有意识地单击一个选项或另一个(而不是复选框,它很容易被忽略并保留为默认值)。
布尔属性必须可以为空,否则在页面加载时已经检查了“否”选项,正如我上面提到的,这不是我们想要的。但是,在视图中使用以下代码:
<label>@Html.RadioButton("Completed", Model.Completed) YES</label>
<label>@Html.RadioButton("Completed", !Model.Completed) NO</label>
导致运行时错误,因为助手尝试绑定的模型属性为空。
我怎样才能达到这个最初未选中的状态?