Пользовательская маршрутизация Kentico и ASP.Net MVC

Есть ли способ получить маршрут MVC в Kentico для обработки нескольких параметров URL в одном сегменте URL?

Пример: я пытаюсь выполнить маршрутизацию к /base/{param1}-{param2}. Я также хотел бы иметь возможность маршрутизации к /base/{param1} Кроме того, {param2} может содержать один или несколько символов '-' ... Пример маршрута: /base/1234-jon-doe-something-or-another В идеале это было бы подается в Kentico с параметром param1, установленным на 1234, и param2, установленным на jon-doe-something-or-another

Это возможно?

Причина странного маршрута - дублирование устаревших функций.


person John URMC    schedule 07.09.2016    source источник
comment
Вам понадобятся два отдельных маршрута с ограничениями. base/{param1:int} и base/{param1:int}-{*param2}   -  person Nkosi    schedule 07.09.2016
comment
Мне пришлось использовать / base / {param} и разделить параметры в потребляющем компоненте. Это работает с оговоркой о необходимости создания одноразовой веб-части.   -  person John URMC    schedule 20.09.2016


Ответы (1)


routes.MapRoute(
    name: "Your route",
    url: "/base/{param1}-{*param2}",
    defaults: new { controller = "Foo", action = "Index" }
);

Тогда в вашем FooController.cs

public ActionResult Index(string param1, string param2)
{
    // Do something with param1
    // Do something with param2
}

Теперь param2 заберет все после первого рывка '-'.

Вы можете продолжать структурировать свой URL-адрес в маршруте, если хотите добавить его в конец, например url: "/base/{param1}-{*param2}/more/routing",

person Ben Murphy    schedule 09.08.2019