检索从HttpPost传递到HttpGet的视图中的值

时间:2013-05-15 20:01:22

标签: asp.net-mvc

如何检索我在“创建视图”中传递的“验证视图”中的值。我想从cshtml文件中显示这些值。

       [HttpPost]
    public ActionResult Create(Ticket ticket)
    {
        return RedirectToAction("Verify", ticket);
    }

    [HttpGet]
     public ActionResult Verify()
    {
        return View();
    }

    

</div>
</body>

1 个答案:

答案 0 :(得分:0)

尝试在TempData中设置值并在验证操作中访问它并将其传递给验证视图,现在您可以在验证视图中访问Ticket模型。 TempData将持久保存以用于后续请求。 RedirectToAction实际上向浏览器发出了302请求,而该请求又重定向到了验证操作,您将从那里获得TempData的ticket

[HttpPost]
public ActionResult Create(Ticket ticket)
{
    TempData["ticket"] = ticket;
    return RedirectToAction("Verify");
}



[HttpGet]
public ActionResult Verify()
{

    Ticket ticket = (Ticket)TempData["ticket"];
    //Do something
    return View(ticket);
}

我认为在RouteDataDictionary中设置复杂类型并不是一个好主意。