Pregunta

Observo este bit intrigante en ASP.NET MVC:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Me gustaría asignar {* pathInfo} a una ruta.

Algo como:

routes.MapRoute(
  "area/{*pathInfo}",
   "{controller}/{action}/{id}",parameters
   new { controller = "Area", action = "Index", id = ??? } 
);

pero ¿cómo paso la variable " foo / bar / rab / oof " de mydomain.com/area/foo/bar/rab/oof? Pasar todo el bit como una cadena o como una colección estaría bien para mí.

¡Gracias!

¿Fue útil?

Solución

¿Qué versión de MVC estás usando? El nombre de la ruta debería ser el primer parámetro de MapRoute () como recuerdo en MCV Beta. De todos modos, dado tu objetivo de capturar el camino, haré s / t como:

routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"}       );

Y en el controlador de Área:

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)  
{  
  ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top