Редактировать
Я только что изменил порядок регистрации маршрута, чтобы он работал:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {
controller = "home",
action = "index",
id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{some_parameter}/{controller}/{action}/{id}", // URL with parameters
new {
some_parameter = UrlParameter.Optional,
controller = "home",
action = "index",
id = UrlParameter.Optional
}
);
Они должны быть зарегистрированы в этом порядке. Кроме того, второй маршрут требует параметров id и some_parameter, иначе он никогда не будет вызван из-за маршрута перед ним. Даже если для параметров some_parameter и id задано необязательное значение, этого никогда не произойдет, поскольку маршрут до этого перехватит его, если он будет пустым.