一尘不染

带参数的RedirectToAction

c#

因此,我有一个从锚点调用的动作,Site/Controller/Action/ID其中IDint

稍后,我需要从Controller重定向到相同的Action。

有聪明的方法吗?当前,我存储在tempdata ID中,但是当您按f5键以返回后再次刷新页面时,tempdata消失了,页面崩溃了。


阅读 221

收藏
2020-05-19

共1个答案

一尘不染

从我的研究来看,库尔特的答案应该是正确的,但是当我尝试时,我必须这样做才能使其真正为我工作:

return RedirectToAction( "Main", new RouteValueDictionary( 
    new { controller = controllerName, action = "Main", Id = Id } ) );

如果我未指定控制器,则该控制器中的操作RouteValueDictionary无效。

同样,当这样编码时,第一个参数(动作)似乎也被忽略了。因此,如果仅在Dict中指定控制器,并期望第一个参数指定Action,则它也不起作用。

如果您以后要来,请先尝试Kurt的答案,如果仍然有问题,请尝试此。

2020-05-19