Как вы отлаживаете " ни один маршрут в таблице маршрутов не соответствует предоставленным значениям."в ASP.NET в MVC

кажется, я все время сталкиваюсь с этой ошибкой:

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

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

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

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

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

3 ответов


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

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

RegisterRoutes(RouteTable.Routes);
RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);


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

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

или

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

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

в:

return RedirectToAction("ActionName", "ControllerName", new { area = "AreaName" })