asp.net-core - 升级到 ASP.NET Core MVC 2.2 后默认路由操作不起作用

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

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

例如,我有一个这样的默认路由:

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

在我的类库中,我有一个 Controller SiteAdminController,它有一个 Index 操作方法。

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

如果我使用/siteadmin/index 那么它就可以工作

如何在不要求在 url 中明确显示索引操作的情况下使其工作?它在 2.1 中运行良好

最佳答案

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

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

这在 Core 2.2 中对我有用

关于asp.net-core - 升级到 ASP.NET Core MVC 2.2 后默认路由操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53726214/

相关文章:

asp.net core - 将异常描述传递给客户端(例如 Angular)

c# - 使用 hang-fire 和 ASP.NET Core 发送每日摘要电子邮件

c# - 使用 ASPNETCORE_ENVIRONMENT 覆盖 Azure 上的 appsettings.json

asp.net-core - 在 ASP.NET Core 的 WebDeploy 期间找不到匹配命令 "dotnet-bundle"的可执行文件

c# - Aspnet5 RC1在IIS中调试

c# - 区域和子域路由

c# - 无法使用来自单例的作用域服务

asp.net-core - 我可以使用另一个 api 或 api key 从 .net core 中的 web api 获取数据吗?

ASP.NET 核心 : Prevent Automatic HTTP 400 responses for individual action

asp.net-mvc - 无法在 ASP.NET VNext 和 Visual Studio 2015 RC 中使用 XUnit 进行单元测试