【问题标题】:Redirect from action to another action in different controller in MVC在MVC中从动作重定向到不同控制器中的另一个动作
【发布时间】:2011-08-08 10:48:35
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    你可以试试这个:

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

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

    【讨论】:

      【解决方案2】:

      这可能是您在调用 RedirectToAction 时将参数值颠倒过来的情况 - 请记住首先是 action,然后是 controller。不要忘记controller 也是"Home",而不是"HomeController"

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

      【讨论】:

        【解决方案3】:

        在您的 A 控制器中将其添加到您的操作中

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

        如果您还想发送一些参数,但不要忘记配置一个路由,该路由也可以映射“变量”参数。我想这已经解决了

        【讨论】:

          【解决方案4】:

          我这样做了,效果很好:)

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

          KISS - 保持简单,亲爱的 ;) 只需将 url 传递为字符串即可重定向

          【讨论】:

          • 网址可能会随着时间而变化,控制器/视图的变化程度较小。像这样对值进行硬编码绝不是一个好主意。
          猜你喜欢
          • 2010-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-29
          • 1970-01-01
          • 2017-09-18
          • 1970-01-01
          相关资源
          最近更新 更多