1

私は以下の声明を持っています:

return Redirect(this.Request.UrlReferrer.AbsolutePath);

これにより、呼び出し元ビューにリダイレクトされます。正常に動作していますが、リダイレクト時に次のようなビューモデルを返す必要があります(間違っています):

return Redirect(this.Request.UrlReferrer.AbsolutePath(item));

では、どうすればこれを達成できますか?

その列の1つがいくつかのアクションを提供し、行を編集および削除するjqridがあるため、これを行いたいです。したがって、ユーザーが編集をクリックすると、データベースに渡された ID からデータが取得されます。次に、このデータを取得したら、ビュー内のいくつかのテキスト ボックスを更新するためにビュー モデルにデータを入力します。そのため、リダイレクト時にビュー モデルを渡す必要があります。

コントローラーの私のコードの下:

    public ActionResult Edit(int id)
    {            
        ItemViewModel item = new ItemViewModel();
        using (DBContext context = new DBContext())
        {
            Items itemToModify = context.Items.Single(i=> i.ItemId == id);

            item.Desc = itemToModify.Desc;
            item.Name = itemToModify.Name;
        }

        return Redirect(this.Request.UrlReferrer.AbsolutePath, item); <-- how to do this      
    }
4

1 に答える 1

5

You can use TempData like

In your controller

public ActionResult Action1()
{
    ItemViewModel item = new ItemViewModel();
    TempData["item"] = item;
    return Redirect("Action2");
}

public ActionResult Action2()
{
    ItemViewModel item = (ItemViewModel)TempData["item"];

    //Your Code
}
于 2013-10-21T14:28:16.793 に答える