asp.net-core - 升级到 ASP.NET Core MVC 2.2 后默认路由操作不起作用
问题描述
将我的应用程序从 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 的索引操作
如果我使用 /siteadmin/index 那么它可以工作
如何在不要求在 url 中明确显示索引操作的情况下使其工作?它在 2.1 中运行良好
解决方案
您是否尝试过在模板中设置默认值?
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
}
);
这在 Core 2.2 中对我有用
推荐阅读
- apache-spark - 如何用新的数据框更新现有的火花数据框
- date - 无论时区如何,BigQuery 时间戳都转换为日期
- python-3.x - 如何过滤具有多个搜索条件的数据库搜索结果?
- javascript - Firebase 云函数聚合数据用户问题
- java - 谷歌地图不显示在底部导航与Andriod工作室的活动(java)
- android - Chromecast 发件人应用程序未连接到 Android Receiver 应用程序,始终连接到 Web 接收器
- nginx - 在通用 Nuxt.js 应用程序中找不到资产
- wordpress - Wordpress 需要几分钟才能加载
- ios - UITextView 用 ? 错误地,当链接中出现德语变音符号时
- javascript - Vanilla JS DOM 操作(节点渲染不一致)