ASP.NET MVC HttpPost发布空模型



从网页MakeBookingFinalBooking形成帖子,以确定某些信息,如客人数量,因此FinalBooking页面可以为您提供足够的文本框,以输入所有客人所需的客人信息。

当处于调试模式时,MakeBooking post中的两个模型都会被填充。张贴后,在FinalBooking中,模型为空。

    [HttpPost]
    public ActionResult MakeBooking(BookingModel model)
    {
        return RedirectToAction("FinalBooking", "Booking", new { model = model });
    }
    public ActionResult FinalBooking(BookingModel model)
    {
        return View(model);
    }

如有任何信息,我们将不胜感激。

它应该可以工作

return RedirectToAction("FinalBooking", "Booking", model);

不能像那样传递带有RedirectToAction的模型。您需要使用TempDataSession在调用之间传输模型对象。

RedirectToAction方法向浏览器返回HTTP 302响应,这使得浏览器对指定的操作发出GET请求。

以下示例显示如何使用TempData传输数据。

[HttpPost]
public ActionResult MakeBooking(BookingModel model)
{
    TempData["TempBookingModel"]=model;
    return RedirectToAction("FinalBooking", "Booking");
}
public ActionResult FinalBooking()
{       
    var model= TempData["TempBookingModel"] as BookingModel; 
    return View(model);
}

TempData内部使用Session作为存储机制。

最新更新