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!

War es hilfreich?

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
scroll top