从复选框返回对象列表

本文关键字:列表 对象 返回 复选框 | 更新日期: 2023-09-27 18:19:19

我想从我的视图中的复选框中返回一个person列表,并在我的控制器中获取它,但selectedObjects count总是0…

这是我对复选框的看法:

@using (Html.BeginForm("Presence", "Evenement"))
{
    foreach (var p in Model.Personnes)
    {
        <input type="checkbox" name="selectedObjects" value="@p" />
    }
    @Html.AntiForgeryToken()
    <input type="submit" value="Valider Presence" class="btn btn-primary" />
}

我的控制器:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Presence(List<Personne> selectedObjects)
{
    return View(selectedObjects);
}

从复选框返回对象列表

不能将复选框绑定到复杂对象。复选框只返回一个值。相反,您需要绑定到Personne的属性,例如,如果它具有属性int ID,则

foreach (var p in Model.Personnes)
{
    <input type="checkbox" name="selectedObjects" value="@p.ID" />
}

,然后将POST方法签名改为

public ActionResult Presence(int[] selectedObjects)