从动作重定向到MVC中不同控制器中的另一个动作

时间:2011-08-08 10:48:36

标签: asp.net-mvc

我想要做的是从“A”控制器中的操作重定向到“B”控制器中的操作它给我这个错误,它无法在目标控制器中找到此操作

我正在使用RedirectToAction方法任何帮助

4 个答案:

答案 0 :(得分:6)

你可以试试这个:

return RedirectToAction("kiss", "meoghe");
// RedirectToAction("action name", "controller name"); 
// meogheController => "meoghe" is controller name

如果您对方法使用ActionResult作为返回类型,则必须使用return作为RedirectToAction

答案 1 :(得分:3)

可能是您在调用RedirectToAction时撤消参数值的情况 - 首先记住action,然后controller。不要忘记controller也是"Home",而不是"HomeController"

如果仍然不起作用 - 那么你的动作名称就错了;或者您要重定向的操作有一个过滤器(例如[HttpPost]),阻止它被使用。

答案 2 :(得分:2)

在你的A控制器中将此添加到你的行动中

RedirectToAction(new {controller="B", action="index", id=11,variable="abc"});

如果您还想发送一些参数,但不要忘记配置一个可以映射“变量”参数的路径。我认为现在已经解决了

答案 3 :(得分:-2)

我做到了这一点并且运行良好:)

  return Redirect("/B/index"); //assuming your controller is called BController. 

亲吻 - 保持简单的甜心;)只需将网址传递给字符串重定向