2009-03-20 10 views
7

En mi proyecto asp.net-mvc hago un redireccionamiento desde una solicitud posterior a una solicitud get.
Entre mi redirección y mi llegada del método que espero que llegue, uno de mis parámetros mágicamente se convierte en nulo y no puedo entender por qué.
Probablemente tiene algo que ver con mi global.asax (defensa de la ruta).¿Cómo verificar qué URL hará un RedirectToRouteResult?

La única forma en que puedo encontrar para depurar esto es con el route debugger library. Pero no veo cómo puedo usarlo con un RedirectToRoute.
¿Alguna sugerencia?

Respuesta

1

Una redirección es un resultado enviado al navegador, y luego el navegador respeta la redirección haciendo un GET en la nueva URL. Por lo tanto, mira el navegador para ver cuál es la URL. Cuando el navegador recibe la redirección, hará un GET en la nueva URL, que puede ver con Firebug, Fiddler o la herramienta que elija.

Dentro de la nueva acción, cuando se invoca, también puede examinar Request.Url.

19

Un poco tarde para la fiesta, pero este fue el primer golpe en Google por un problema que estaba teniendo, así que pensé en compartir mi experiencia.

Quería analizar un RedirectToRouteResult en una URL para poder redirigir a ella en una etapa posterior, pero esta clase no tiene un método para hacerlo. Puede, sin embargo, utiliza UrlHelper.RouteUrl(), por ejemplo:

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

donde Url es característica de Controller clase.

Cuestiones relacionadas