Как создать числовые маршруты в ASP.NET Core MVC - PullRequest
0 голосов
/ 24 мая 2018

Я хочу, чтобы шаблон URL-адреса был таким:

http://example.com/15/232

И первый сегмент, и второй сегмент состоят из целочисленных значений.Если этот шаблон не выполняется, я хочу, чтобы маршрутизация откатилась к шаблону {controller=Home}/{action=Index} по умолчанию.

Как этого добиться?

1 Ответ

0 голосов
/ 24 мая 2018

Что бы я, вероятно, сделал, это изменил ваш startup.cs, чтобы он отражал ваш новый маршрут следующим образом:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "segment",
        template: "{segment1:int}/{segment2:int}", //<-- Matches /15/232
        defaults: new { controller = "Home", action = "Segment" }
    );

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

Новый маршрут будет просто указывать на один контроллер и действие, и оттуда вывернуть соответствующий просмотр для контента на основе пути.

public IActionResult Segment(int segment1, int segment2)
{

    return View()
}
...