Redirect MVC 5-从任意位置重定向到控制器

Redirect MVC 5-从任意位置重定向到控制器,redirect,controller,asp.net-mvc-5,extension-methods,actionresult,Redirect,Controller,Asp.net Mvc 5,Extension Methods,Actionresult,我正在开发一个MVC5互联网应用程序,我希望从我的应用程序的任何地方重定向到控制器/操作结果 控制器名称为“Manager”,操作结果为“TestAction” 在操作结果中,可以使用以下代码: RedirectToAction("TestAction", "Manager") 我还编写了一个过滤器属性,如下所示: filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary{{ "controller",

我正在开发一个MVC5互联网应用程序,我希望从我的应用程序的任何地方重定向到控制器/操作结果

控制器名称为“Manager”,操作结果为“TestAction”

在操作结果中,可以使用以下代码:

RedirectToAction("TestAction", "Manager")
我还编写了一个过滤器属性,如下所示:

filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary{{ "controller", "Manage" }, { "action", "TestAction" } });
是否有一种通用的方法可以将用户从MVC应用程序中的任何位置发送到特定的控制器、操作结果?我特别希望在扩展方法中实现这一点


提前感谢。

您只需响应
即可。重定向
(获取域路径并附加url)


您是否尝试过这样的答案

在您的控制器中,您可以使用RedirectToAction(“TestAction”、“Manager”)来重定向,并且在您的视图中,您可以编写windows.location.href(“Manager”、“TestAction”)。

在这种情况下我做了什么:

Dictionary<string, object> dictionary = new Dictionary<string, object>();
//
//...add parameters...

dictionary.Add("controller", "ControllerName");//ex: Home for HomeController
dictionary.Add("action", "MyMethod");
return RedirectToRoute("Default", dictionary);//"Default" is the name of the rout you're using
Dictionary Dictionary=newdictionary();
//
//…添加参数。。。
添加(“控制器”、“控制器名称”)//例如:HomeController的主页
添加(“动作”、“我的方法”);
返回重定向路由(“默认”,字典)//“Default”是您正在使用的路由的名称

谢谢。是否可以从扩展方法重定向?是的,通过传递上下文。记住,这必须在响应之前完成。End如果您在控制器或全局中,请解释一下“传递上下文”是什么意思?您的扩展方法在哪里?尽快,您可以尝试Filtercontext、RequestContext、ControllerContext扩展方法在一个名为ExtensionMethods的静态类中。