0

私は mvc4 プロジェクトに取り組んでいますが、新しく作成されたオブジェクトをあるページから別のページに渡す方法がわかりません。

Aページに

テーブルに配置する際に新しいオブジェクトを作成しているデータベースにフォームを送信します。

しかし、フォームが送信された後、確認ページが後で表示されるようにします。データベースに保存した前のページから新しく作成されたオブジェクトを取得する方法がわかりません。作ったIDで呼べるけど、IDが分からないとどうやって呼べばいいのかわからない

        public ActionResult Pay(int id,Paid paid)
    {
        PaidAdapter cAdapter = new PaidAdapter();
        paid.CId = id;

        if (ModelState.IsValid)
        {
            cAdapter.StorePaid(paid);
            return RedirectToAction("SubmitPayment");
        }

        return View(paid);
    }

    public ActionResult SubmitPayment(int id)
    {
        var cAdapter = new PaidAdapter();

        var  model = cAdapter.GetPaidViewModel(id);
        return View(model);
    }
    public Paid StorePaid (Paid paid)


        FContext db = new FContext();

        paid= db.Paid.Add(paid);

        db.SaveChanges();

        //return the paidId
        return paid;
    }

    public PaidViewModel GetPaidViewModel(int id)
    {
        var model = new PaidViewModel();
        FContext db = new FContext();

        model.Paid= db.Paid.Where(c => c.PaidId == id).FirstOrDefault();

        return model;
    }
4

1 に答える 1

1

Use the overload of RedirectToAction that accepts route parameters. Assuming you're using the default route and it has an id parameter the code would be:

return RedirectToAction("SubmitPayment", new { id = paid.PaidId });
于 2013-09-23T23:47:52.110 に答える