升级到ASP.NET Core MVC 2.2后,默认路由操作不起作用

时间:2018-12-11 14:26:08

标签: asp.net-core asp.net-core-mvc

将我的应用程序从asp.net core 2.1更新到2.2后,似乎默认路由操作不适用于单独类库中的控制器。

例如,我有一个默认路由,如下所示:

routes.MapRoute(
            name: "default",
            template: "{controller}/{action}"
            ,defaults: new { controller = "Home", action = "index" }
            );

在我的类库中,我有一个控制器SiteAdminController,它具有Index动作方法。

当我访问url / siteadmin时,我得到的是HomeController索引,而不是SiteAdminController的index操作

如果我使用/ siteadmin / index,那么它将起作用

如何在不要求在URL中显式执行index操作的情况下使其工作?在2.1中效果很好

1 个答案:

答案 0 :(得分:0)

您是否尝试过在模板中设置默认值?

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

这在Core 2.2中对我有用