需要取消选中MVC复选框

时间:2011-11-04 23:19:16

标签: asp.net-mvc asp.net-mvc-3 razor checkbox

我有几个复选框值已发布到操作,当操作再次调用视图时,复选框将根据其先前的状态进行检查:

<div class="D2">@Html.CheckBox("int", false, new { id = "int" })</div>
<div class="D2">@Html.CheckBox("ext", false, new { id = "ext" })</div>
<div class="D2">@Html.CheckBox("none", false, new { style = "visibility:hidden", id = "none" }
</div>

动作:

public ActionResult Images(bool? int, bool? ext, bool? none)
return View();

但我希望第三个theckbox一直未经检查,而其他人应该保留设置。我怎么能达到这个目的呢?

2 个答案:

答案 0 :(得分:1)

Html辅助方法如果可以的话,总是从ModelState获取值 要确保取消选中第三个复选框,您应该清除控制器中的ModelState值:

public ActionResult Images(bool? int, bool? ext, bool? none) {
    ModelState.Remove("none");
    return View();
}

有关详细信息,请参阅ModelState.Remove

答案 1 :(得分:0)

如果您希望始终取消选中它,为什么甚至将其发送到方法中,只需在ActionResult中使用false值即可。它不必出现在参数列表中。 我不在这里跟踪什么吗?