加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将模型对象传递给RedirectToAction而不污染URL?

发布时间:2020-12-15 06:17:57 所属栏目:百科 来源:网络整理
导读:这是我要做的: 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(mo
这是我要做的:
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);
}

所有三种操作方法都在同一个控制器中.基本上,用户键入联系表单中的一些数据,并且我想使用他们在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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读