Могу ли я добавить четвертый маркер маршрута в asp mvc core 2.0? - PullRequest
0 голосов
/ 07 сентября 2018

Есть ли способ добавить жетон четвертого маршрута в существующую область, контроллер, маршруты действий?

например я хочу маршрутизацию как

fourthRouteValue/Area/Controller/Action

Приложение, которое мы пытаемся создать, настолько велико, что без него будет почти невозможно правильно все расположить.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 сентября 2018

Так что для тех, кто приходит сюда позже, вот как я это исправил.

Я создал RouteValueAttribute следующим образом

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class RegionAttribute : RouteValueAttribute
{
    public RegionAttribute(string regionName) : base("Region", regionName)
    {
    }
}

Тогда я могу использовать это так же, как вы бы указали область

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

и startup.cs

app.UseMvc(routes =>
{
    routes.MapRoute(
         name: "main_route_region",
         template: "{region:exists}/{area:exists}/{controller=Home}/{action=Index}/{id?}");
});

Теперь действие будет доступно с ~/Region/Area/Test/Index

...