0

我正在使用带有 EF 的 ASP.NET MVC 4。

我想在每一行的末尾添加 CheckBox。(这个复选框不在我的模型中)

grid.Column("Verified", format: @<text><input name="cbVerify" type="checkbox" value="@??"/></text>)
...
@Html.ActionLink("Verified", "Verified", "Items")

以及我要更新所有选定记录的选定行

    [HttpPost]
    public ActionResult Edit(items items)
    {
        if (ModelState.IsValid)
        {
            db.items.Attach(items);
            items.status = 4 ; //verified
            items.date_verif = Datetime.Now;
            db.ObjectStateManager.ChangeObjectState(items, EntityState.Modified);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(items);
    }
    public ActionResult Verified()
    {
        //var req = Request[""];??
        foreach(// selected rows)
        {
           //Edit(items); ?
        }
        return RedirectToAction("Index");
    }

问:如何从一个按钮更新多个选定的行?

4

1 回答 1

0

您可以做的只是将值设置为您要更新的项目的 ID(或者如果您甚至没有该 ID,则为从 1 到行数的计数器),在视图中如下所示:


@using (Html.BeginForm()) {
    <input type="checkbox" name="verify" value="1" />
    <input type="checkbox" name="verify" value="2" />

    <input type="submit" value="Submit" />
}

然后在控制器发布操作中,只需获取一个(在我的情况下)整数数组,并根据问题的 ID 或行号是否发布在数组中。

所以 action 方法对我来说看起来像这样(但你显然会有其他参数,比如你的视图模型):


[HttpPost]
public ActionResult Index(int[] verify)
{
    return View();
}
于 2012-05-17T12:26:58.937 回答