我可以在Response.Redirect中使用TempData吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以在Response.Redirect中使用TempData吗?相关的知识,希望对你有一定的参考价值。
我正在使用ASP.net MVC 2框架,用于多个站点。我们有一个基站,然后是从“核心”站点继承的子站点,该站点包含子站点将使用的90%的功能。
在其中一个控制器中,我保存了一些数据,向tempData添加了一条UI消息,然后使用了Response.Redirect。
重定向有效,但重定向后tempdata为空。
我尝试使用相同的路由位置返回“RedirectToAction
”和“RedirectToRoute
”,当它填充TempData时,重定向不会发生大声笑..
所以我想简而言之,有没有办法让tempdata在使用标准的Response.Redirect时工作?
答案
TempData用于重定向。但是在MVC 2+中,读取TempData
会导致令牌被删除。所以这样的代码:
if (!string.IsNullOrEmpty(TempData["Foo"].AsString()) { foo = TempData["Foo"].AsString(); }
......现在已经破了。但是这段代码:
var bar = TempData["Foo"].AsString();
if (!string.IsNullOrEmpty(bar)) { foo = bar; }
......仍然有效。
以上是关于我可以在Response.Redirect中使用TempData吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我使用 Response.Redirect 的时候出现错误?
Response.Redirect 在使用 IIS 7 集成模式的 global.asax 中是不是可用?