Звучит так, как будто вы используете неверное имя или путь в RedirectToRoute()
, следовательно, оно не работает:
// this is wrong because first parameter did not match
return RedirectToRoute("Recom/Index/{id}", new {id = projectdto.Id });
Для перегрузки двух параметров требуется имя маршрута (не путь маршрута) и значения маршрута, как показано в определении ниже:
protected internal RedirectToRouteResult RedirectToRoute(string routeName,
RouteValueDictionary routeValues)
Следовательно, вам необходимо предоставить полное имя маршрута и значения маршрута, определенные в RegisterRoutes
(например, Recomroute
).
return RedirectToRoute("Recomroute", new {
controller = "Recom",
action = "Index",
id = projectdto.Id
});
Примечания:
1) Вам все еще необходимо предоставить параметры controller
, action
и id
для соответствия определению маршрута.
2) Кажется, что Recomroute
определен ниже маршрута по умолчанию с тем же определением сегментов маршрута, которое переопределяет все пользовательские маршруты под ним, если вы хотите оценить Recomroute
, сначала переместите его в верхний порядок и используйте другой путь в сравнении с маршрутом по умолчанию.