在ASP.NET中发送POST数据

时间:2014-10-30 23:03:15

标签: asp.net asp.net-mvc

在页面索引我有一些表格。在提交时,我在HomeController中使用此代码:

    [HttpPost]
    public ActionResult Index(EventDetails obj)
    {

        if (ModelState.IsValid)
        {
            return RedirectToAction("Index2","Home");
        }
        else
        {
            return View();
        }

    }

    public ActionResult Index2()
    {

        return View();
    }

因此它会将我重定向到另一个名为Index2的页面。如何获取POST数据,在“索引”页面中发送并在“Index2”页面中使用它。以及如何显示由prev发送的POST数据。页面在视图页面?

1 个答案:

答案 0 :(得分:2)

由于您在POST后发出了GET请求,因此您无法从POST发送正文。最简单的解决方法是使用TempData,在请求之间临时存储数据:

[HttpPost]
public ActionResult Index(EventDetails obj)
{

    if (ModelState.IsValid)
    {
        TempData["eventDetails"] = obj;
        return RedirectToAction("Index2","Home");
    }
    else
    {
        return View();
    }

}

public ActionResult Index2()
{
    var obj = TempData["eventDetails"] as EventDetails;
    return View(obj);
}