-->

区域之间RedirectToAction?(RedirectToAction between are

2019-07-05 13:51发布

有没有一种方法来重定向到一个特定的动作/控制器上的不同区域?

Answer 1:

你试试这个?:

return RedirectToAction("action", "controller", new { area = "area" });


Answer 2:

你的答案是对我很有帮助。 只是想补充如下:

如果你想从一个区域到另一个区域重定向,上面的代码效果很好。

而且,如果要重定向从一个区域到控制器/视图这是不是有在该地区的文件夹(即在大多数情况下,你的前端),你可以指定区域=“”。

return RedirectToAction("action", "controller", new { area = "" });


Answer 3:

我想在这里提出一个跟进。 理解是,

return RedirectToAction("action", "area1/controller")

也被代表

return RedirectToAction("action", "controller", new { area = "area1" });

一个人如何使用相同的符号深入到另外一个区域嵌套? 在具有适当的符号带来的最大益处是,随着ReSharper的特别,重构是适当的处理,如果你需要回去和“重命名”任何控制器。 有一次,我增加一个额外的区域组合和他们有相互嵌套,前面的符号是不等价的。

return RedirectToAction("action", "area1/area2/controller");

我会继续,如果我先找到它更新的问题。


好了,我相信答案是没有什么壮观,但做到这一点,所以你仍然可以得到某种有效的着色W / ReSharper的和智能感知的最佳途径如下:

return RedirectToAction("action","controller", new { area = "area1/area2" });

至少在这里你将有能力F12或Ctrl +单击控制器和被引导到它,如果你不需要做任何重命名ReSharper的会发现它...但它不会对定义的区域的任何变化...所以选择你的战场。

在大多数情况下,我能避免使用重定向完全...但是有时候你得做你必须做的事情。



文章来源: RedirectToAction between areas?