2010-05-18 9 views
5

¿Hay alguna forma de obtener RouteData de una cadena url?ASP.NET MVC: cómo analizar la cadena url para obtener RouteData

Tengo formulario de inicio de sesión con returlUrl como parámetro de cadena de consulta. Mis rutas se definen como: {languageCode}/{controller}/{action}

En el método de acción LogIn(string returlUrl) returlUrl es algo así como "es/home/contactos", etc. Necesito cambiar languagePart ai no desea utilizar String.Replace, como rutas pueden cambiar en futuro.

Gracias.

+0

¿Es necesario analizarlo para que pueda hacer una redirección después? – R0MANARMY

+0

@: tengo que redirigir al usuario a la URL de retorno, pero en un código de idioma diferente del original returnUrl – Feryt

+0

Eso es raro pero está bien. – R0MANARMY

Respuesta

1

Este hilo foros podría ser útil: http://forums.asp.net/t/1281667.aspx

Esta es la mejor opción que puedo pensar en la parte superior de mi cabeza. Bascialmente, usando RouteTable.Routes.GetRouteData y Mocking HttpContextBase en función de su cadena Url.

4

Así que este es un tema viejo, obviamente, pero para cualquier otra persona que llegue a esta pregunta a través de Google, acabo de escribir una publicación en el blog sobre una manera de hacerlo con bastante facilidad. De hecho, me encontré con esta pregunta en SO cuando estaba tratando de encontrar una manera de hacerlo yo mismo, pero no encontré ninguna que me gustara, así que escribí la mía.

Creating a RouteData Instance from a URL

+0

Scott, parece que tu enlace está roto. – Khan

+2

El enlace aún está roto. –

Cuestiones relacionadas