Я работаю над проектом mvc4, и я не могу понять, как передать вновь созданный объект с одной страницы на другую.
на странице A
im отправляет форму в базу данных, которая создает новый объект, помещая его в таблицу.
но после отправки формы я хочу, чтобы после этого появилась страница подтверждения. Я не знаю, как вытащить вновь созданный объект с предыдущей страницы, которая сохранила его в базе данных. Я мог бы назвать это с Идентификатором, который был создан, но я не знаю, как назвать это, не зная 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;
}
Используйте перегрузку RedirectToAction, которая принимает параметры маршрута. Предполагая, что вы используете маршрут по умолчанию, и у него есть параметр id, код будет:
return RedirectToAction("SubmitPayment", new { id = paid.PaidId });