Come gestite un numero variabile di percorsi MVC?
-
03-07-2019 - |
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!
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