Asp.net mvc RouteValueDictionary和RedirectToRouteResult出现问题
我已创建以下RedirectToRouteResult:Asp.net mvc RouteValueDictionary和RedirectToRouteResult出现问题,asp.net-mvc,routes,Asp.net Mvc,Routes,我已创建以下RedirectToRouteResult: new RedirectToRouteResult(new RouteValueDictionary{ { "controller", "Login" }, { "action", "Failed" }, { "ReturnUrl", filterContext.HttpContext.Request.Url.PathA
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 }
});
我认为如果所有的值都正确,我就不必指定名称了?路由将返回第一个匹配的路由,并且很可能有多个路由将匹配给定的路由值,请确保将最具体的路由放在第一位,最后返回到一般路由 如果您可以发布您定义的路线,这将更容易