如何使用会话,Tempdata在asp.net mvc4

本文关键字:asp net mvc4 Tempdata 何使用 会话 | 更新日期: 2023-09-27 18:06:37

我在asp.net mvc 4架构工作。这里我有两个控制器显示和SessionEx。在显示控制器我有一个方法如下

public ActionResult SessionExample()
{
    TempData["FortheFullRequest"] = "FortheFullRequest";
    string v = Session["Session1"].ToString();
    ViewData["Myval"] = "ControllertoView";
    ViewBag.MyVal = "ControllertoView";
    Session["Testing1"] = "Testing Session";
    return RedirectToAction("SomeOtherAction", "SessionEx");
}

在SessionEx控制器中,我有如下方法

public ActionResult SomeOtherAction()
{
    string str1 = Convert.ToString(Session["Testing1"]);
    string str2 = Convert.ToString(TempData["FortheFullRequest"]);
    return View();
}

我正在调试这个项目,我也用手表来查看在tempdata和session中存储的数据。在开始时,在session和tempdata中都有适当的值,但是当游标到达RedirectToAction方法时,所有的值都存储在session中,tempdata变为空。

如何使用会话,Tempdata在asp.net mvc4

如果您希望存储将在重定向到另一个操作方法后使用的数据,则使用Session

TempData主要用于本this SO question

中讨论的一次性、短暂的请求。

您可能会发现TempData中的数据在您重定向到SomeOtherAction()后不存在,这是通过设计TempData的工作方式。

老实说,我从来没有用过TempData,我自己也看不出有什么用