Я проверил этот маршрут:
routes.MapRoute(
"Final",
"{id}",
new { controller = "Root", action = "Index" },
new { id = @"\d+" }
);
Он работает так, как должен.Но если у вас возникла проблема с этим, я предполагаю, что ваш желаемый URL соответствует другому маршруту до него.Поместите этот маршрут в качестве первого и посмотрите, исправляет ли он.
Например, если ваши маршруты выглядят так:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Final",
"{id}",
new { controller = "Root", action = "Index" },
new { id = @"\d+" }
);
Вы получите ресурс 404, не найденный.Но если вы переключите их так:
routes.MapRoute(
"Final",
"{id}",
new { controller = "Root", action = "Index" },
new { id = @"\d+" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Тогда вы получите желаемую маршрутизацию с запросом, подобным /1234
.