Wie gehen Sie mit einer variablen Anzahl von MVC Routen?
-
03-07-2019 - |
Frage
Ich stelle fest, dieses faszinierende Bit in ASP.NET MVC:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Ich möchte Karte {* pathInfo} in einer Route.
So etwas wie:
routes.MapRoute(
"area/{*pathInfo}",
"{controller}/{action}/{id}",parameters
new { controller = "Area", action = "Index", id = ??? }
);
aber wie gehe ich in der Variable "foo / bar / rab / oof" von mydomain.com/area/foo/bar/rab/oof? Entweder die gesamte Bit als String übergeben oder als eine Sammlung wäre für mich in Ordnung.
Danke!
Lösung
Welche MVC-Version verwenden Sie? Der Routenname sollte der erste Parameter auf MapRoute () sein, wie ich in MCV Beta erinnern. Wie dem auch sei, da es Ihr Ziel, den Weg der Erfassung, ich tun würde, s / t wie:
routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"} );
und im Bereich Steuerung:
// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)
{
...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow