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

使用接受路由参数的RedirectToAction的重载。假设您使用的是默认路由并且它有一个 id 参数,代码将是:

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