Как проверить, какой URL сделает RedirectToRouteResult? - PullRequest
7 голосов
/ 20 марта 2009

В моем проекте asp.net-mvc я делаю перенаправление с почтового запроса на запрос на получение.
Между моим перенаправлением и прибытием метода я ожидаю, что он прибудет, один из моих параметров волшебным образом превращается в ноль, и я не могу понять почему.
Возможно, это как-то связано с моим global.asax (определением маршрута).

Единственный способ отладить это - использовать библиотеку route debugger . Но я не понимаю, как я могу использовать его с RedirectToRoute.
Есть предложения?

Ответы [ 2 ]

20 голосов
/ 19 июня 2012

Немного опоздал на вечеринку, но это был первый удар в Google по проблеме, которая у меня возникла, поэтому я поделился своим опытом.

Я хотел проанализировать RedirectToRouteResult URL-адреса, чтобы я мог перенаправить его на более поздний этап, но у этого класса нет способа сделать это. Однако вы можете использовать UrlHelper.RouteUrl(), например:

Url.RouteUrl(redirectResult.RouteName, redirectResult.RouteValues);

где Url является свойством Controller класса.

1 голос
/ 20 марта 2009

Перенаправление - это результат, отправляемый в браузер, и затем браузер учитывает перенаправление, выполняя GET для нового URL. Поэтому посмотрите в браузере, чтобы увидеть, что это за URL. Когда браузер получит перенаправление, он выполнит GET для нового URL, который вы можете увидеть с помощью Firebug, Fiddler или любого другого инструмента.

Внутри нового действия, когда оно вызывается, вы также можете проверить Request.Url.

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