【发布时间】:2011-08-08 10:48:35
【问题描述】:
我想要做的是从“A”控制器中的动作重定向到“B”控制器中的动作它给我这个错误,它在目标控制器中找不到这个动作
我正在使用RedirectToAction 方法任何帮助
【问题讨论】:
标签: asp.net-mvc
我想要做的是从“A”控制器中的动作重定向到“B”控制器中的动作它给我这个错误,它在目标控制器中找不到这个动作
我正在使用RedirectToAction 方法任何帮助
【问题讨论】:
标签: asp.net-mvc
你可以试试这个:
return RedirectToAction("kiss", "meoghe");
// RedirectToAction("action name", "controller name");
// meogheController => "meoghe" is controller name
如果您使用ActionResult 作为方法的返回类型,则必须使用return 作为RedirectToAction。
【讨论】:
这可能是您在调用 RedirectToAction 时将参数值颠倒过来的情况 - 请记住首先是 action,然后是 controller。不要忘记controller 也是"Home",而不是"HomeController"。
如果这仍然不起作用 - 那么你的动作名称是错误的;或者您要重定向到的操作有一个过滤器(例如[HttpPost]),它会阻止它被使用。
【讨论】:
在您的 A 控制器中将其添加到您的操作中
RedirectToAction(new {controller="B", action="index", id=11,variable="abc"});
如果您还想发送一些参数,但不要忘记配置一个路由,该路由也可以映射“变量”参数。我想这已经解决了
【讨论】:
我这样做了,效果很好:)
return Redirect("/B/index"); //assuming your controller is called BController.
KISS - 保持简单,亲爱的 ;) 只需将 url 传递为字符串即可重定向
【讨论】: