【发布时间】:2017-07-27 16:33:53
【问题描述】:
我在控制器中有以下类将数据传递给视图:
public ActionResult ControllerToView(){
...
TempData["example"] = "this is a message!";
...
return Redirect("http://myViewPageLink");
}
在我看来,我正在尝试使用以下方法访问 TempData 字典:
@if(myCondition){
var test = TempData["example"];
<p>@test</p>
}
"myCondition" 始终满足,但 TempData 字典始终为空。任何想法为什么?为了使 TempData 在视图中可用,我必须编写任何其他代码吗?
在调用我的控制器方法之前,我对同一控制器中的另一个方法有一个 ajax 请求,这可能是有用的信息。
【问题讨论】:
-
您不是在返回视图,而是在重定向。重定向使用自己的
TempData字典触发完全不同的控制器操作。 -
那么不能这样传递 TempData 吗?关于我应该做什么的任何建议?
-
看看这篇文章是否有帮助
-
临时数据的生命周期只针对一个请求。换句话说,它存在于两个连续的请求之间。因此,如果您在两者之间有请求,它可能会被取消。
标签: c# asp.net-mvc viewbag tempdata