【问题标题】:return list of objects from checkbox从复选框返回对象列表
【发布时间】:2016-01-26 13:43:15
【问题描述】:

我想在我的视图中从选中的复选框中返回一个 Personnes 列表并在我的控制器中获取它,但 selectedObjects 计数始终为 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);
}

【问题讨论】:

  • 您不能将复选框绑定到复杂对象(查看您生成的 html!)。您需要将 value 属性设置为模型的属性,例如value="@p.ID",方法必须是Presence(int[] selectedObjects)
  • 谢谢,我设法得到了 Id 的 [],现在我必须在 db 中找到与 id 匹配的每个人

标签: c# asp.net-mvc entity-framework checkbox


【解决方案1】:

您不能将复选框绑定到复杂对象。复选框仅回发单个值。相反,你需要绑定到Personne的一个属性,例如,如果它有一个属性int ID,那么

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

然后将POST方法签名改为

public ActionResult Presence(int[] selectedObjects)

【讨论】:

    猜你喜欢
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多