在控制器操作中,我从 TempData 变量中的重定向接收变量
public ActionResult ChangePassword()
{
string t = (string)TempData["myVariable"]; // works ok when coming from the redirect
[..]
}
由于我需要为另一个调用保留该数据,因此我尝试在返回视图之前重新分配它。
public ActionResult ChangePassword()
{
string t = (string)TempData["myVariable"];
[..]
TempData["myVariable"] = TempData["myVariable"];
return View();
}
我立即从呈现的页面将 POST 请求提交回 ChangePassword,但这次 TempData["myVariable"] 为空。也许我在做一些愚蠢的事情,但是如何获得想要的结果?我不想使用 Session 变量(它会持续更长时间,我将努力确保手动清除该变量以防止污染 Session 变量)。我可以通过表单(隐藏变量)重新发布它,但我更愿意将变量仅保留在服务器端。