Как вы отлаживаете " ни один маршрут в таблице маршрутов не соответствует предоставленным значениям."в 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" })