У меня есть специальный обработчик маршрута в ASP.NET MVC2, чтобы перехватывать все URL-адреса с префиксным путем, например так:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.Add(new Route("@api/{*all}", new ApiHandler()));
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Маршрутизация работает нормально, но если я использую Html.Actionlink или возвращаю ReturnToAction () изконтроллер, созданный URI, создает сломанный URI, например:
/@api?action=Add&controller=Home
вместо
/Home/Add
Как я могу повлиять на логику построения URI, чтобы рассмотреть шаблон маршрута по умолчанию?