我似乎一直遇到这个错误:
路由表中没有路由与提供的值匹配。
在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
堆栈跟踪只是一堆MVC垃圾。
显然我正在查询不存在的路由,但是如何找到它实际尝试查询的路由?我很想知道实际的URL和HTTP方法。我怎么能发现这个?
(我习惯于Django,其中尝试的URL是异常的一部分,并且更喜欢比查看我的页面来源并找出它更有效的方法。)
答案 0 :(得分:13)
答案 1 :(得分:8)
您可以使用MvcContrib的RouteDebugger
实用程序类来更好地查看处理请求的路由。
您需要做的就是添加对MvcContrib的引用,并将此代码添加到Global.asax
RegisterRoutes(RouteTable.Routes); RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
答案 2 :(得分:3)
您可以使用return Redirect(“/ Home / index”)代替
return RedirectToAction("Home","index");
或者
我的解决方案是在路径值参数更改中传递区域:
return RedirectToAction("ActionName", "ControllerName");
为:
return RedirectToAction("ActionName", "ControllerName", new { area = "AreaName" })