从一个控制器向另一个控制器调用动作方法

时间:2019-06-26 05:05:51

标签: c# asp.net-core controller redirecttoaction

我正在使用Asp.Net Core。我需要从一个控制器调用动作方法。

我尝试使用RedirectToAction方法。当我使用它时,出现诸如“没有路由与提供的值匹配”之类的错误。

enter image description here

我使用的代码:

return RedirectToAction("Logon", "Login");

我们正在使用这样的路由文件

enter image description here

我正在从MyItemsController调用LoginController。 LoginRouteUrl文件中存在“登录”路由。

如果我在MyItemsRouteURL文件中添加路由,则RedirectToAction正在运行。即执行登录控制器中的方法“登录”。但是我需要在LoginRouteURL中添加用于登录的路由。

我需要重定向操作结果。

如何实现?

1 个答案:

答案 0 :(得分:1)

您应该使用RedirectToAction

return RedirectToAction("Index", "Home");

第一个参数将是您的操作名称,第二个参数将是您的控制器名称

还要确保您具有这样的默认路由设置

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller}/{action=Index}/{id?}");
        });