2010-09-02 7 views

Respuesta

6

pude conseguirlo desde aquí:

String URL to RouteValueDictionary

para obtener el área de este ejemplo he utilizado:.

área de cadena de routeData.DataTokens = [ "zona"] ToString();

-2

Se podría tirar de esta información de las rutas:

var controller = RouteData.Values["controller"]; 
var action = RouteData.Values["action"]; 
var action = RouteData.Values["area"]; 

En cuanto a la cadena de consulta se refiere usted podría tirar de él de la Solicitud:

var queryString = Request.Url.Query; 

ACTUALIZACIÓN:

Si la URL proviene de una base de datos:

var uri = new Uri(someStringThatRepresentsTheUrlAndComesFromADb); 
var queryString = uri.Query; 
+0

Hmm eso es realmente genial, pero la cadena URL no es del contexto actual, viene de un DB. –

+0

@Ozzie, por favor mira mi actualización. –

+0

Gracias, sí, puedo obtener la cadena de consulta. El problema es conseguir realmente el área, el controlador y la acción. A veces, una acción tiene un '/' posterior y otras no, por lo que contar desde la derecha puede ser engañoso. Por otro lado, una aplicación puede estar dentro de diferentes estructuras de directorios en IIS, por lo que contar posiciones desde la izquierda tampoco es sencillo ... –

Cuestiones relacionadas