【问题标题】:Passing newly created object to an another page将新创建的对象传递到另一个页面
【发布时间】:2013-09-24 09:28:44
【问题描述】:

我正在处理一个 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;
    }

【问题讨论】:

    标签: c# html asp.net-mvc-4


    【解决方案1】:

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

    return RedirectToAction("SubmitPayment", new { id = paid.PaidId });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      相关资源
      最近更新 更多