2009-08-22 4 views
5

Ist es möglich, eine hierarchische Pfad eine Beziehung aus der Datenbank abzubilden wie folgt Zustieg:MVC einen hierarchischen Pfad von DB mit ASP.NET Routing

Lasst uns sagen, dass ich ein Tupel/entity „Seite“ haben mit einem mtm Bezug auf eine „Seite“ (selbst), und ich möchte in der Lage sein, die schnecken Wert jeder Seite zu kombinieren, um eine entsprechende Seite zu finden wie so:

mydomain.com/firstpage/secondpage/thirdpage

wobei firstpage, secondpage und thirdpage vom Typ "Seite sind "und die dritte Seite verweist auf die zweite Seite usw.

Wie würden Sie dies mit ASP.NET MVC-Routing implementieren?

Antwort

4

Ok, denke ich habe es gelöst!

Ich fand heraus, dass es einen * (Catch-All-Parameter) gibt, der beim Routing verwendet werden kann.

Zum Beispiel:

routes.MapRoute(
    "Pages", 
    "{*pageQuery}", 
    new { controller = "Page", action = "GetPage" } 
); 

Da ist in meinem Controller kann ich reguläre Ausdrücke oder eine einfache Aufteilung verwenden, um jeden Teil des Rohlings zu lösen. :)

+0

Sind Sie sicher, dass Sie sich auf den Catch-All verlassen wollen? Diese Art von negiert die Möglichkeit der Verwendung der Routen, wie Sie am Ende die Routing-Logik in den Controller. –

+0

Hmm, das stimmt. Wenn ich dies jedoch nach/unter meine Standardroute (n) stelle, wird nur auf diese zurückgegriffen, wenn keine andere Route die Anfrage erfüllt. Aber ich bin offen für Anregungen und Diskussionen. Hast du bessere Ideen? :) – Mickel