Wie definiere ich eine Catch-all-Route für eine ASP.NET MVC-Site?

8

Ich habe eine Nachrichtenseite mit Artikeln, die in Kategorien getaggt sind.

Mein Controller heißt "Category" und diese URL:

  

http://mysite.com/Category/Sport

übergibt Sport an die Aktion Index im Controller Category .

Ich möchte die folgenden URLs zulassen:

  

http://mysite.com/Sport/Hockey
http://mysite.com/Sport/Football
http://mysite.com/Science/Evolution

Übergibt alle Informationen zur Kategorie an die Aktion Index im Controller Category .

Wie erstelle ich eine Catch-All-Route, die all diese behandelt und sie in eine Kategorie pendelt?

    
WayneDV 20.10.2008, 15:36
quelle

2 Antworten

2

Es gibt eine ziemlich gute Antwort auf meine Frage in diesem Sinne hier .

    
jmcd 20.10.2008, 15:39
quelle
0

Du kannst es so machen:

%Vor%

und dann in Ihrem Controller:

%Vor%

Nicht, dass die obige Route für ALLE Routen verwendet wird (Sie können keine Info-Seite usw. haben, wenn Sie keine expliziten Routen vor der obigen angeben).

Sie können jedoch eine benutzerdefinierte Einschränkung hinzufügen, um die Route auf nur vorhandene Kategorien zu beschränken. Etwas wie:

%Vor%

Was Sie in Ihrer Route so verwenden:

%Vor%

Auf diese Weise wird es Ihre anderen definierten Routen nicht stören.

    
jgauffin 17.05.2016 05:07
quelle

Tags und Links