设置CheckBoxFor的值

时间:2016-02-05 15:40:40

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

我正在尝试将复选框值(true / false)设置为字段。我可以获得该值,但无法设置它。

在我的模型中,我有:

public bool ReceiveNewsletter { get; set; }

在我的观点中,我有:

model Project.Models.Parent
@using (Ajax.BeginForm("Register", "ParentRegister", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "parent_register" }))
{
   @Html.CheckBoxFor(u => u.ReceiveNewsletter, new { @class = "checkbox", type = "checkbox" })
}

在我的控制器中我有:

 [HttpPost]
 public ActionResult Register(Models.Parent register)
 {
    return Content(register.SelectedIndex.ToString());
 }

当我加载应用程序时,取消选中该复选框,因为ReceiveNewsletterfalse但是,当我勾选复选框并单击提交时,它不会将值设置为{{1} }

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

我不知道你的get action方法是什么样的(我假设它已经是正确的),但你传递的是名为register的Parent类型传递给你的HttpPost动作方法。您的HttpPost操作方法应如下所示:

[HttpPost]
public ActionResult Register(Models.Parent register)
{
    return Content(register.ReceivesNewsLetter.ToString());
}

我认为如果你向我们展示了你的行动方法,那么我们可以确保你得到你正在寻找的答案。我打算在你的问题下发表评论,但我没有足够的分数来做到这一点。