获取复选框选中/取消选中控制器值

时间:2018-04-04 07:00:20

标签: asp.net-mvc

查看

@Html.LabelFor(p => p.IsAnonymous)
<input type="checkbox" id="cbIsAnonymous" name="MyCheckbox"/>
@Html.LabelFor(p => p.ShowReport)
<input type="checkbox" id="cbShowReport" name="MyCheckbox"/>

模型

[Display(Name = "Is Anonymous")]
public bool IsAnonymous { get; set; }    
[Display(Name = "Show Report")]
public bool ShowReport { get; set; }

家庭控制器

[HttpPost]
public ActionResult Publish(string[] MyCheckbox)
{
   return View();
}

我不知道如何从视图中检查/取消选中复选框的值到主控制器。搜索了几页,我在控制器中构建了这段代码。但是当我将调试器应用于这种方法时,我发现我没有从视图到控制器获得价值。

1 个答案:

答案 0 :(得分:0)

使用强类型模型,您的视图如下所示,具有强类型模型,   复选框具有不同的名称

    @model Model   

    @using (Ajax.BeginForm("Publish", "Home",                
            new AjaxOptions { HttpMethod = "Post" },
            new { id = "form1" }))
    {
        @Html.LabelFor(p => p.IsAnonymous)
        @Html.CheckBoxFor(p => p.IsAnonymous);
        @Html.LabelFor(p => p.ShowReport)
        @Html.CheckBoxFor(p => p.ShowReport});
    }

controller action将model作为参数

[HttpPost]
public ActionResult Publish(ModelName model)
{
   return View();
}