Wie kann ich "natürliche" URL-Schema-Routingtabellen in ASP.NET MVC implementieren?

8

Ich möchte meine Routing-Tabellen so spezifizieren, dass sie sich viel natürlicher anfühlen würden

%Vor%

Nahe der Standardkonfiguration, aber so, dass die "Index" -Aktion dem multiplen Formular des Controllernamens zugeordnet würde und die "Details" -Aktion direkt zugeordnet würde eine ID des Elements, die direkt auf den Namen des Controllers folgt.

Ich weiß, dass ich das erreichen kann, indem ich spezielle Routing-Mappings wie folgt definiere:

%Vor%

Der obige Code ist viel zu ausführlich für meinen Geschmack und hat den Nachteil, dass jeder Controller mindestens zweimal erwähnt werden muss, um dieses URL-Muster vorläufig anzuwenden.

Gibt es einen Weg, dies zu verallgemeinern, oder bin ich in diesem Fall an manuelle Arbeit gebunden?

    
Roland Tepp 16.02.2011, 14:40
quelle

1 Antwort

2

Sie können etwas wie folgt ausprobieren:

%Vor%

Beachten Sie die Einschränkung in der zweiten Route. Dadurch wird sichergestellt, dass /Product/Create nicht von der zweiten Route ausgewählt wird, sodass sie als dritte Karte zugeordnet wird.

Für den Routentest können Sie routedebugger und für den Komponententest verwenden für Routen versuchen Sie MvcContrib-TestHelper . Sie können beide mit NuGet bekommen.

BEARBEITEN:

Sie können dieses einfach verwenden Pluralisierer und dann etwas wie folgt implementieren:

%Vor%     
frennky 16.02.2011 14:59
quelle