端点路由.net core 3-多区域
Endpoint Routing .net core 3-Multiple Areas
我正在尝试从 .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 中它只有在我给硬代码区域名称而不是动态名称时才有效区域名称
为了不指定任何区域名称,可以使用这个。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area}/{controller}/{did?}/{action=Index}/{id?}");
});
我正在尝试从 .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 中它只有在我给硬代码区域名称而不是动态名称时才有效区域名称
为了不指定任何区域名称,可以使用这个。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area}/{controller}/{did?}/{action=Index}/{id?}");
});