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");
    }

Q:ボタンから選択した複数の行を更新するにはどうすればよいですか?

4

1 に答える 1

0

あなたができることは、値を更新しようとしているアイテムのIDにすることです(または、それさえない場合は、1から行数までのカウンター)。ビューでは次のようになります。


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

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

次に、コントローラーの投稿アクションで、(私の場合は) int の配列を取得し、問題の ID または行番号が配列に投稿されているかどうかに基づいて動作します。

したがって、アクション メソッドは次のようになります (ただし、ビュー モデルなどの前に他のパラメーターがあることは明らかです)。


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