在视图中使用Html.CheckBoxFor()方法,而不是Html.CheckBox()方法。
在视图中,使用Html.CheckBox()方法来设置一个CheckBox并将其绑定到模型属性,但是该方法始终返回false值,无论在视图上选中或取消选中复选框。为了解决此问题,您可以改为使用Html.CheckBoxFor()方法来生成CheckBox。该方法会生成一个表单控件,将其绑定到模型属性,使其在视图和模型之间进行正确的双向数据绑定。
以下是一个示例代码,展示如何在视图中使用Html.CheckBoxFor()方法:
@model MyModel
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.LabelFor(m => m.MyProperty)
@Html.CheckBoxFor(m => m.MyProperty)
}
在这个例子中,我们使用了@Html.CheckBoxFor()方法并绑定到了MyProperty属性,它将会自动和模型中的MyProperty属性双向绑定。这意味着在视图上选择或取消选中CheckBox将会正确地更新模型中的MyProperty属性,并将会在提交表单时提交到服务器。
通过使用@Html.CheckBoxFor()方法,您可以解决ASP.NET Core的CheckBox始终返回false值的问题。