在ASP.NET MVC中,如果要将请求重定向到另一个动作而不丢失请求数据,可以使用TempData
或Session
来保存临时数据。
TempData
:TempData
是一个临时数据存储,它在多个请求之间存储数据,但只保留一次。在ASP.NET MVC中,可以使用TempData
来保存请求数据,然后在重定向之后将其恢复。
在源动作中,将请求数据保存到TempData
中:
public ActionResult SourceAction()
{
// 保存请求数据到TempData
TempData["requestData"] = "some data";
// 重定向到目标动作
return RedirectToAction("TargetAction");
}
在目标动作中,从TempData
中恢复请求数据:
public ActionResult TargetAction()
{
// 从TempData中恢复请求数据
string requestData = TempData["requestData"] as string;
// 处理请求数据
// ...
return View();
}
Session
:Session
是一个会话数据存储,它在多个请求之间存储数据,直到会话结束。在ASP.NET MVC中,可以使用Session
来保存请求数据,然后在重定向之后将其恢复。
在源动作中,将请求数据保存到Session
中:
public ActionResult SourceAction()
{
// 保存请求数据到Session
Session["requestData"] = "some data";
// 重定向到目标动作
return RedirectToAction("TargetAction");
}
在目标动作中,从Session
中恢复请求数据:
public ActionResult TargetAction()
{
// 从Session中恢复请求数据
string requestData = Session["requestData"] as string;
// 处理请求数据
// ...
return View();
}
总之,在ASP.NET MVC中,如果要将请求重定向到另一个动作而不丢失请求数据,可以使用TempData
或Session
来保存临时数据。
领取专属 10元无门槛券
手把手带您无忧上云