目前我正在研究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的值??
答案 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个)。