C# 如何从foreach传递多个复选框参数

C# 如何从foreach传递多个复选框参数,c#,model-view-controller,C#,Model View Controller,我的视图中有一个表格,每个单元格上都有一个复选框。我已经为每个复选框设置了单独的ID,但我不知道如何将它们单独传递给控制器操作。我知道如何通过“name”属性传递单个参数,但我不确定如何使用这么多不同的复选框来处理它 看法 为了将所选复选框传输到操作方法,复选框应共享与操作方法的参数名称匹配的通用名称。以下示例显示了Razor视图,该视图在表中列出了一些字符串,并为每个字符串创建了一个复选框: @model IEnumerable<string> @{ ViewBag.Ti

我的视图中有一个表格,每个单元格上都有一个复选框。我已经为每个复选框设置了单独的ID,但我不知道如何将它们单独传递给控制器操作。我知道如何通过“name”属性传递单个参数,但我不确定如何使用这么多不同的复选框来处理它

看法


为了将所选复选框传输到操作方法,复选框应共享与操作方法的参数名称匹配的通用名称。以下示例显示了Razor视图,该视图在表中列出了一些字符串,并为每个字符串创建了一个复选框:

@model  IEnumerable<string>
@{
    ViewBag.Title = "Home Page";
}

<div class="row">
    <div class="col-md-12">
        @using (Html.BeginForm("Index", "Home", FormMethod.Post))
        {
            <table>
                @foreach (var s in Model)
                {
                    <tr>
                        <td>
                            <input type="checkbox" name="selectedValues" value="@s" id="@s" />
                            <label for="@s">@s</label>
                        </td>
                    </tr>
                }
            </table>
            <input type="submit" />
        }
    </div>
</div>

在POST请求中,所有选中复选框的所有值都以“name=value”的形式作为键值对传输。由于所有复选框共享相同的名称,ASP.NET MVC可以将其反序列化为
IEnumerable

工作得很好。现在可以通过循环选择的值来访问每个值。太好了,谢谢:)
public ActionResult DeleteRegistrations(Need to get values of all checkboxes) 
{
  return RedirectToAction("HomePage");
}
@model  IEnumerable<string>
@{
    ViewBag.Title = "Home Page";
}

<div class="row">
    <div class="col-md-12">
        @using (Html.BeginForm("Index", "Home", FormMethod.Post))
        {
            <table>
                @foreach (var s in Model)
                {
                    <tr>
                        <td>
                            <input type="checkbox" name="selectedValues" value="@s" id="@s" />
                            <label for="@s">@s</label>
                        </td>
                    </tr>
                }
            </table>
            <input type="submit" />
        }
    </div>
</div>
[HttpPost]
public ActionResult Index(IEnumerable<string> selectedValues)
{
    return View(selectedValues);
}