У меня есть следующие маршруты, определенные в global.asax
routes.MapRoute(
"Route1",
"Employee/List/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Route2",
"Managers/List/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Когда я добрался до
http://localhost/managers/list и http://localhost/employee/list, они достигли метода Index на контроллере Home, как и ожидалось.
Я хотел бы создать URL на основе данных запроса
Так что если текущим URL является localhost / manager / list, я хочу сгенерировать URL сказать
http://localhost/managers/list/3 (некоторый идентификатор)
и если текущим URL является localhost / employee / list, я хочу создать
http://localhost/employees/list/3 (некоторый идентификатор)
Я пытался:
@Url.RouteUrl(new { controller = ViewContext.RouteData.Values["controller"],
action = ViewContext.RouteData.Values["action"], id = 3})
но всегда генерирует
/ Employee / Список / 3
, даже если URL - это менеджеры / список.
Я ищу mvc способ сделать это и не использовать Request.Url. Спасибо.