Проблема с RouteValueDictionary и RedirectToRouteResult - PullRequest
2 голосов
/ 24 июня 2010

Я создал следующий 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 Ответ

1 голос
/ 24 июня 2010

Маршрутизация возвратит первый соответствующий маршрут, и вполне возможно иметь несколько маршрутов, которые будут соответствовать заданным значениям RouteValues, убедитесь, что у вас есть самые специфические маршруты, которые идут первыми, возвращаясь к общим маршрутам в конце.

Это было бы проще, если бы вы могли опубликовать маршруты, которые вы определили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...