我正在使用ASP.net MVC 2框架,用于多个站点。我们有一个基站,然后是从“核心”站点继承的子站点,其中包含子站点将使用的90%的功能。
在其中一个控制器中,我保存了一些数据,向tempData添加了一条UI消息,然后使用了Response.Redirect。
重定向有效,但重定向后tempdata为空。
我尝试使用相同的路由位置返回“RedirectToAction
”和“RedirectToRoute
”,当它填充TempData时,重定向不会发生大声笑..
所以我想简而言之,有没有办法让tempdata在使用标准的Response.Redirect时工作?
答案 0 :(得分:2)
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; }
......仍然有效。