我创建了以下RedirectToRouteResult:
new RedirectToRouteResult(new RouteValueDictionary{
{ "controller", "Login" },
{ "action", "Failed" },
{ "ReturnUrl", filterContext.HttpContext.Request.Url.PathAndQuery }
});
无法找到指定的路径(如果手动在浏览器中输入,我知道该路由)。但是,如果我添加如下路线的名称,它工作正常,但我不明白为什么。
new RedirectToRouteResult("Login_failed",
new RouteValueDictionary{
{ "controller", "Login" },
{ "action", "Failed" },
{ "ReturnUrl", filterContext.HttpContext.Request.Url.PathAndQuery }
});
如果所有正确的值都在那里,我不认为我必须指定名称?
答案 0 :(得分:1)
路由将返回第一个匹配的路由,并且很可能有多条匹配给定RouteValues的路由,确保您拥有最具体的路由,最后回到一般路由。
如果您可以发布已定义的路线,这将更容易。