Fortgeschrittene ASP Routing Tutorials und Beispiele

8

Eine der größten Hürden, die ich in letzter Zeit zu haben scheint, besteht darin, einige der komplexeren Routing-Anforderungen für einige MVC-basierte Anwendungen zu berücksichtigen, die ich entwickelt habe. Ich habe Probleme, die richtigen Lernprogramme zu finden, um mich durch ein vollständiges Verständnis zu führen.

Was ich gerne finden würde, ist ein kompletter Satz von Tutorials für alles, was von Basic (Controller / Action / ID) zu Advanced geht.

Ein Beispiel dafür, was ich Advanced Routing nenne, sind Dinge wie:

/blog/year/month/day/title - würde dem Controller zugeordnet werden: blog und action: post und als Parameter: year , month , day und title

/blog/title - würde dem Controller zugeordnet werden: blog und action: post und als Parameter: title

/title - würde dem Controller zugeordnet werden: blog und action: post und als Parameter: title

Ich könnte jede mögliche Menge einer globalen Route mit einer expliziten Route unter Verwendung einer Datenbank zuordnen, aber das scheint den Punkt zu besiegen, an dem die Route-Engine zum richtigen Ort geroutet wird. Ich würde die Regel lieber einmal definieren.

    
Kieron 26.02.2010, 11:01
quelle

1 Antwort

15

Ich verstehe nicht, warum können Sie nicht einfach jeden von ihnen als separate Route definieren, indem Sie bei Bedarf regulären Ausdruck verwenden. Zum Beispiel, um zwischen /blog/year/month/day/title und /blog/title zu unterscheiden.

Jedes dieser Sets ist ein separater Fall, und Sie müssen MVC mitteilen, was mit jedem einzelnen zu tun ist. Sie können dies über defining the rule once in der Global.asax.cs -Datei tun:

Für den ersten Fall: /blog/year/month/day/title

%Vor%

Für den zweiten Fall: /blog/title

%Vor%

Für den letzten Fall: /title

%Vor%

Der Trick besteht darin, diese Routen in genau dieser Reihenfolge zu platzieren, mit den am wenigsten spezifischen unten. Das Ändern der Reihenfolge würde dazu führen, dass die falsche Route verwendet wird (speziell in den letzten beiden). Wenn der letzte Fall mit dem zweiten Fall geändert wurde, würden URLs vom Typ blog/SomeTitle an die Aktion post mit blog als Titel weitergeleitet.

Wenn Sie eine Route für etwas erstellen, beachten Sie Folgendes:

  1. Beschränkungsroutenparameter mit RegEx
  2. Sei very achte auf die Reihenfolge der Route (welche Route kommt vor)
  3. Die verzerrten Klammern {something} bezeichnen Aktionsparameter

Einige gute Tutorials:

Omar 26.02.2010, 14:25
quelle

Tags und Links