У меня есть маршрут, который я вызываю через 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
);
Так почему я получаю сообщение об ошибке: «Ни один маршрут в таблице маршрутов не соответствует заданным значениям.»?
Я видел, что тип выбранного года был var. Когда я попытался преобразовать в int с помощью int.Parse, я понял, что selectedYear фактически равен нулю, что объясняет проблемы. Думаю, в следующий раз я уделю больше внимания значениям переменных в точке останова:)