我正在开发一个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;
}
答案 0 :(得分:1)
使用接受路由参数的RedirectToAction重载。假设您正在使用默认路由并且它具有id参数,则代码为:
return RedirectToAction("SubmitPayment", new { id = paid.PaidId });