我正在使用mvc 4架构的asp.net工作。这里我有两个控制器显示和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();
}
我正在调试项目,我还使用watch来查看tempdata和session中的获取。在session和tempdata中启动适当的值但是当光标到达RedirectToAction方法时,所有值都存储在session中,tempdata变为null。请在这里帮助我。
答案 0 :(得分:0)
如果要存储在重定向到另一个操作方法后将使用的数据,请使用Session
。
TempData主要用于此this SO question
您可能会在重定向到SomeOtherAction()
之后发现TempData中的数据不存在,这是TempData
的工作原理。
老实说,我从不使用TempData,我自己也没有看到这一点。