将我的应用程序从 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/