C#, MVC 3 Root Route scheint nicht zu funktionieren

EDIT: Sorry, ich erklärte es schlecht. Im Grunde, in der im folgenden Beispiel möchte ich "das-ist-erledigt-von-Inhalt-controller", "id", also kann ich es packen im ContentController als action-parameter verwenden, aber ich möchte den Zugang über das Stammverzeichnis der Website, e.g mysite.com/this-is-not-passed-to-homecontroller.

Ich versuche zum erstellen einer root-route werden, die an einen separaten controller (anstatt zu Hause).

Habe ich folgte die "RootController" Beispiel gepostet irgendwo sonst implementiert IRouteConstraint aber es scheint einfach nicht zu funktionieren und ich habe schon verschwendet ein paar Stunden!

Grundsätzlich habe ich einen LoginController, einem HomeController, und einen ContentController.

Ich möchte in der Lage sein, HomeController/Index werde http://mysite/. Ich möchte in der Lage sein, LoginController/Index werde http://mysite/Login. Aber.. ich will die ContentController/Index aufgerufen werden, wenn ein anderes Ergebnis Eintritt, - e.g: http:/mysite/this-is-handled-by-content-controller

Gibt es einen eleganten Weg, dies zu tun, die funktioniert?

Das war mein letzter Versuch.. ich habe cut/eingefügt/kopiert/kratzte mich am Kopf so viele Male, die ein bisschen chaotisch:

routes.MapRoute(
            "ContentPages",
            "{action}",
            new { Area = "", controller = "ContentPages", action = "View", id = UrlParameter.Optional },
            new RootActionConstraint()
            );

        routes.MapRoute(
            "Default", //Route name
            "{controller}/{action}/{id}", //URL with parameters
            new { Area = "", controller = "Home", action = "Index", id = UrlParameter.Optional }, //Parameter defaults
            new string[] { "Website.Controllers" }
        );

Jede Hilfe ist willkommen sehr!

chem

Dies kann das abdeckt, was du suchst. Es ist nicht wirklich die route engines job zu behandeln, für die keine übereinstimmende route. stackoverflow.com/questions/317005/...

InformationsquelleAutor Simon | 2011-02-14

Schreibe einen Kommentar