我知道有很多人面临这个问题,但我觉得他们从来没有解决过这个问题。
我有一个这样的剃须刀页面:
@model MyModel
<div>
@using (Html.BeginForm("MyMethod", "Home", FormMethod.Get))
{
@Html.CheckBoxFor(model => model.MyBool)
@Html.LabelFor(model => model.MyBool)
<input type="submit" class="btn" value="Fire it up" />
}
</div>
我的模型如下所示:
public class MyModel
{
[DisplayName("My checkbox")]
public bool MyBool {get; set;}
}
我在家庭控制器中的方法如下所示:
public IActionResult MyMethod(MyModel model)
{
return View();
}
对我来说一切看起来都很好,但是无论我是否选中复选框,在我提交表单后,MyMethod 方法中的模型参数总是为 false。
我究竟做错了什么?
编辑:
当我选中复选框时,GET 请求包含两个值 - true 和 false。我看到有人说 MVC 应该处理它,但显然没有。