Я предполагаю, что условная маршрутизация будет сначала добавлена в таблицу маршрутизации, потому что она регистрируется в файле global.asax, как это
RouteConfig.RegisterRoutes(RouteTable.Routes);
Теперь у меня есть маршрут, подобный этому, в маршруте.config
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapMvcAttributeRoutes();
}
и у меня есть маршрут атрибута, подобный этому
[Route("students/{id?}")]
public ActionResult Index(int? id)
{
return View(id);
}
Теперь, когда я использую URL
localhost: 4200 // Students
Маршрут ученика вызывается успешно, но когда я использую маршрут, подобный этому
localhost: 4200 // студентов / 40
Iполучить ошибку, я не знаю причину почему.Когда я удаляю маршрут из класса RouteConfig , я могу успешно его вызвать.
Может кто-нибудь объяснить мне, почему и как?