首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ASP.NET MVC中RedirectToAction而不丢失请求数据

在ASP.NET MVC中,如果要将请求重定向到另一个动作而不丢失请求数据,可以使用TempDataSession来保存临时数据。

  1. 使用TempData

TempData是一个临时数据存储,它在多个请求之间存储数据,但只保留一次。在ASP.NET MVC中,可以使用TempData来保存请求数据,然后在重定向之后将其恢复。

在源动作中,将请求数据保存到TempData中:

代码语言:csharp
复制
public ActionResult SourceAction()
{
    // 保存请求数据到TempData
    TempData["requestData"] = "some data";

    // 重定向到目标动作
    return RedirectToAction("TargetAction");
}

在目标动作中,从TempData中恢复请求数据:

代码语言:csharp
复制
public ActionResult TargetAction()
{
    // 从TempData中恢复请求数据
    string requestData = TempData["requestData"] as string;

    // 处理请求数据
    // ...

    return View();
}
  1. 使用Session

Session是一个会话数据存储,它在多个请求之间存储数据,直到会话结束。在ASP.NET MVC中,可以使用Session来保存请求数据,然后在重定向之后将其恢复。

在源动作中,将请求数据保存到Session中:

代码语言:csharp
复制
public ActionResult SourceAction()
{
    // 保存请求数据到Session
    Session["requestData"] = "some data";

    // 重定向到目标动作
    return RedirectToAction("TargetAction");
}

在目标动作中,从Session中恢复请求数据:

代码语言:csharp
复制
public ActionResult TargetAction()
{
    // 从Session中恢复请求数据
    string requestData = Session["requestData"] as string;

    // 处理请求数据
    // ...

    return View();
}

总之,在ASP.NET MVC中,如果要将请求重定向到另一个动作而不丢失请求数据,可以使用TempDataSession来保存临时数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券