这是我想做的事情:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(ContactModel model)
{
if (ModelState.IsValid)
{
// Send email using Model information.
return RedirectToAction("Gracias", model);
}
return View(model);
}
public ActionResult Gracias(ContactModel model)
{
return View(model);
}
所有这三种 Action 方法都在同一 Controller 中。基本上,用户在联系表单中键入一些数据,我想使用Model对象中的名称将它们重定向到“谢谢”页面。
就像代码一样,它可以工作,但是URL与GET变量一起传递。不理想。
http://localhost:7807/Contacto/Gracias?Nombre=Sergio&Apellidos=Tapia&Correo=opiasdf&Telefono=oinqwef&Direccion=oinqef&Pais=oinqwef&Mensaje=oinqwef
有什么建议么?
最佳答案
听起来像是TempData的解决方案!
[HttpPost]
public ActionResult Index(ContactModel model)
{
if (ModelState.IsValid)
{
// Send email using Model information.
TempData["model"] = model;
return RedirectToAction("Gracias");
}
return View(model);
}
public ActionResult Gracias()
{
ContactModel model = (ContactModel)TempData["model"];
return View(model);
}
关于c# - 将模型对象传递给RedirectToAction而不污染URL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13020202/