我有一个包含区域和普通控制器的项目。但是区域路由可以工作,但普通控制器不工作。
工作正常,但区域路由返回 404 :
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
适用于区域路由,但不适用于根控制器:
app.MapControllerRoute(
name: "default",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
我还有其他 3 个具有相同场景的项目,但它们正在运行,但我最近创建的项目面临问题。
您必须将默认路由模板与区域路由模板一起添加才能使所有默认路由和区域路由起作用。
我想你可能误解了
area:exists
的意思。 exists
应用了路线必须与区域匹配的约束。将 {area:...}
与 MapControllerRoute 一起使用: