在Razor MVC4中使用多个复选框获取值

时间:2014-03-09 15:51:24

标签: c# asp.net-mvc-4 razor checkbox

目前我正在研究MVC4 Web应用程序,我需要从网页的多个复选框中获取选定或未选择的值。这是我在View中的代码来渲染复选框。

using (Html.BeginForm("Controller", "NameSpace", FormMethod.Post))
{          
     @foreach (var Leave in Model)
        {
            <tr class="Row">
                <td>
                    @Html.CheckBox("leaves")
                </td>
                <td>@Leave.EmployeeId</td>
                <td>@Leave.EmployeeName</td>
            </tr>
        }    
    <input type="submit" name="btn" value="Approve"/>
    <input type="submit" name="btn" value="Reject"/>
}

如何在控制器中获取这些checkBox的值??

1 个答案:

答案 0 :(得分:1)

在复选框上添加一个名称,您可以使用请求

在控制器上提取值
@Html.CheckBox("leaves", new { name = "leaves" })

然后在控制器上

string selected = Request.Form["leaves"].ToString();
string[] selectedList = selected.split(',');
foreach(var temp in selectedList){
    // do something with the result
}

这将返回所有选中复选框的id的逗号分隔列表(1,5,8)(如果有多于1个)。