如何在MVC中使用复选框删除多行?

时间:2016-07-11 06:44:19

标签: asp.net asp.net-mvc sql-delete

这是我的控制器

[HttpPost]
public ActionResult Delete(IEnumerable<int> idDelete)
{
    foreach(var item in idDelete)
    {
        var delete = db.ExamPolicies.SingleOrDefault(s => s.ExamPolicyID == item);
        db.ExamPolicies.Attach(delete);
        db.ExamPolicies.Remove(delete);
    }
    db.SaveChanges();
    return RedirectToAction("Display");
}

这是我的输入

@using (Html.BeginForm("Delete", "ExamPolicy", FormMethod.Post))
{
    <div class="btn-group">
        <input type="submit" value="Delete All" />
    </div>
}

这是我的复选框

<input type="checkbox" class="checkboxes" value="@item.ExamPolicyID" name="ExamPolicyIDs"/>

我不知道为什么我的代码错了?拜托,帮帮我

1 个答案:

答案 0 :(得分:0)

更改您的删除操作,如下所示:

[HttpPost]
public ActionResult Delete(IEnumerable<int> ExamPolicyIDs)
{
    foreach (var item in ExamPolicyIDs)
    {
        var delete = db.ExamPolicies.FirstOrDefault(s => s.ExamPolicyID == item);
        if (delete != null)
        {
            db.ExamPolicies.Remove(delete);
        }
    }
    db.SaveChanges();
    return RedirectToAction("Display");
}