How to define an endpoint route to multiple areas

后端 未结 2 881
生来不讨喜
生来不讨喜 2021-01-04 19:20

I am trying to define a MapAreaControllerRoute() that routes to multiple Areas. In ASP.NET Core 3.0, however, there is the areaName: parameter that

2条回答
  •  清酒与你
    2021-01-04 20:05

    You can write a generic pattern for areas using MapControllerRoute():

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

    Then the area controllers just need the Area attribute:

    [Area("AreaName")]
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
    

提交回复
热议问题