2008-11-27 10 views
15

Teil meiner Applikationskarten Ressourcen in einer Reihe von Standorten auf Web-URLs wie folgt gespeichert:Dateipfad als MVC Route Argument

http://servername/files/path/to/my/resource/ 

Die Ressourcen Lage nach Dateipfaden und als Ergebnis modelliert wird es kann eine sein unbegrenzte Verschachtelung. Ist es möglich, eine MVC-Route zu erstellen, die diesem entspricht, damit ich den Pfad vollständig in meinen Controller übertrage? Entweder als eine einzelne Zeichenfolge oder möglicherweise als ein params-artiges Array von Strings.

Ich denke, das erfordert eine Übereinstimmung für das Schlüsselwort Dateien, gefolgt von einer Art Platzhalter. Obwohl ich keine Ahnung habe, ob MVC dies unterstützt.

Antwort

26

Eine Route wie

"Files/{*path}" 

den Weg als eine Zeichenkette erhalten. Die * bezeichnet es als ein Wildcard-Mapping und es wird die gesamte URL nach "Files/" verbrauchen.

4

Weitere Informationen zu ASP.NET die Routing-Funktion finden Sie unter MSDN:

http://msdn.microsoft.com/en-us/library/cc668201.aspx

Und für das „catch-all“ Parameter, die Sie verwenden möchten, finden Sie im Abschnitt unter „Umgang mit einer variablen Anzahl von Segmenten ".

+0

Toller Link, danke! –