如何将Html.Checkbox的值传递给Controller?

时间:2013-06-13 14:03:56

标签: c# asp.net-mvc html.checkbox

基本上标题是:

这必须在没有提交按钮的情况下发生。 这是我得到的,但不知道如何进一步:

查看

<% using (Html.BeginForm("UpdateReleaseState", "Articles", new{reference=Model.Reference, CheckboxState=true})) {%>
                    <%=Html.CheckBox("CheckboxState", Model.DoNotCheckReleaseState)%> Do not check release state
</div>

动作

 [HttpPost]
 public ActionResult UpdateReleaseState(Guid reference, bool CheckboxState)
 {
     throw new NotImplemtedException();
 }

在我看来,我试图传递Checkbox的值,但不知道提供什么作为参数。目前它是check = true

2 个答案:

答案 0 :(得分:1)

CheckBox方法中,您已指定了其名称 - CheckboxState。因此,在过帐表单后,请求将包含部分CheckboxState=trueCheckboxState=false。现在您需要做的是为action参数指定相同的名称(不区分大小写):

public ActionResult UpdateReleaseState(Guid reference, bool checkboxState)

答案 1 :(得分:0)

您需要将签名更改为:

public ActionResult UpdateReleaseState(Guid reference, bool CheckboxState)

MVC使用名称绑定值。另外还有一点,套管很重要,只是因为它的解释性更具可读性。但正如Andrei所发现的那样,它与它的工作无关。