端点路由.net核心3多个区域

我正在尝试从.net core 2.2路由迁移到asp.net core 3中的终结点路由,并在启动时遵循以下路由

我的.net core 2.2路由是

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

                routes.MapRoute(
                    name: "AppArea",template: "{area:exists}/{controller=Home}/{did?}/{action=Index}/{id?}");

.net核心3路由

  app.UseEndpoints(routes =>
                {                    
                    routes.MapControllerRoute(
                         name:"default",pattern:"{controller=Home}/{action=Index}/{id?}");

                    routes.MapAreaControllerRoute(
                        name: "areas",areaName:  "myarea",pattern: "{area:exists}/{controller=Home}/{did?}/{action=Index}/{id?}");                
                    routes.MapRazorPages();
                   });

我的问题是在以上配置的.net core 2.2中映射了多个区域,例如area1 area2等。但是在.net core中,它仅在我给出硬代码区域名称而不是动态区域名称的情况下有效

zhoubingpei 回答:端点路由.net核心3多个区域

为了不指定任何区域名称,可以使用此名称。

  app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
            name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");

            endpoints.MapControllerRoute(
            name: "areas",pattern: "{area}/{controller}/{did?}/{action=Index}/{id?}");
        });
本文链接:https://www.f2er.com/2922503.html

大家都在问