Domanda

Noto questo bit intrigante in ASP.NET MVC:

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

Vorrei mappare {* pathInfo} in una rotta.

Qualcosa del tipo:

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

ma come posso passare nella variabile "pippo / bar / rab / oof" da mydomain.com/area/foo/bar/rab/oof? Passare l'intero bit come stringa o come raccolta andrebbe bene con me.

Grazie!

È stato utile?

Soluzione

Quale versione MVC stai usando? Il nome della rotta dovrebbe essere il primo parametro di MapRoute (), come ricordo in MCV Beta. Ad ogni modo, dato il tuo obiettivo di catturare il percorso, mi piacerebbe fare:

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

E nel controller di area:

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)  
{  
  ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top