У меня есть маршрут, который я вызываю через RedirectToRoute следующим образом:
return this.RedirectToRoute("Super-SuperRoute", new { year = selectedYear });
Я также пробовал:
return this.RedirectToRoute("Super-SuperRoute", new { controller = "Super", action = "SuperRoute", id = "RouteTopic", year = selectedYear });
Маршрут в global.asax выглядит следующим образом:
routes.MapRoute(
"Super-SuperRoute", // Route name
"Super.mvc/SuperRoute/{year}", // URL with parameters
new { controller = "Super", action = "SuperRoute", id = "RouteTopic" } // Parameter defaults
);
Почему же возникает ошибка: "Ни один маршрут в таблице маршрутов не соответствует заданным значениям."?
Я видел, что тип selectedYear был var. Когда я попытался преобразовать его в int с помощью int.Parse, я понял, что selectedYear на самом деле был null, что объясняет возникшие проблемы. Думаю, в следующий раз я буду внимательнее относиться к значениям переменных в точке останова :)