Как отлаживать «Ни один маршрут в таблице маршрутов не соответствует заданным значениям». в ASP.NET MVC - PullRequest
11 голосов
/ 25 мая 2009

Кажется, я постоянно сталкиваюсь с этой ошибкой:

Ни один маршрут в таблице маршрутов не соответствует заданным значениям.

Произошло необработанное исключение во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Трассировка стека - это просто куча мусора MVC.

Очевидно, я запрашиваю несуществующий маршрут, но как мне узнать, какой маршрут он на самом деле пытался запросить? Я хотел бы знать фактический URL и метод HTTP. Как я могу обнаружить это?

(Я привык к Django, где попытка URL является частью исключения и предпочла бы более эффективный метод, чем просмотр источника моей страницы и его выяснение.)

Ответы [ 3 ]

13 голосов
/ 25 мая 2009
8 голосов
/ 25 января 2010

Вы можете использовать служебный класс MvcContrib * RouteDebugger, чтобы получить лучшее представление о том, по какому маршруту был обработан запрос.

Все, что вам нужно сделать, это добавить ссылку на MvcContrib и добавить этот код в Global.asax

RegisterRoutes(RouteTable.Routes);
RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
3 голосов
/ 12 сентября 2012

Вы можете использовать return Redirect ("/ Home / index") вместо

return RedirectToAction("Home","index");

Или

Решением для меня было пройти в Районе в пределах параметра значения маршрута:

return RedirectToAction("ActionName", "ControllerName");

до:

return RedirectToAction("ActionName", "ControllerName", new { area = "AreaName" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...