RouteValueDictionary和RedirectToRouteResult的问题

时间:2010-06-24 09:29:54

标签: asp.net-mvc routes

我创建了以下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 }
                });

如果所有正确的值都在那里,我不认为我必须指定名称?

1 个答案:

答案 0 :(得分:1)

路由将返回第一个匹配的路由,并且很可能有多条匹配给定RouteValues的路由,确保您拥有最具体的路由,最后回到一般路由。

如果您可以发布已定义的路线,这将更容易。