Einrichten von Index als die Standard-route auf einen controller
Ich habe eine url
denen will ich wiederum in
Könnte auch so etwas wie http://www.roadkillwiki.org/Page/my-url-with-spaces - der parameter ist ein string. Die route setup ich probiert habe ist:
routes.MapRoute(
"ControllerDefault",
"{controller}/{id}",
new { controller = "Page", action = "Index", id = UrlParameter.Optional }
);
Dies ist jedoch sich mit den Standard - "id" - route, die MVC-Projekten kommen mit. Gibt es eine Möglichkeit, dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu verlieren, wird die default-route. Der Schlüssel zur Vermeidung von Routen, die einander stören, ist bestellt, so dass die mehr spezifische Regeln vor die weniger spezifischen. Zum Beispiel:
Dann Ihre PageController würde wie folgt Aussehen:
Sagte, ich würde stark Beratung, die Sie, um dies zu tun, statt:
Und Ihre PageController:
Indem Sie die Seiten-ID, die entweder am Anfang Ihrer URL (wie StackOverflow hat) oder am Ende können Sie dann einfach ignorieren, die nacktschnecke, und stattdessen abrufen Ihrer Seiten-ID. Dies wird sparen Sie eine Menge Kopfschmerzen, wenn Ihre Benutzer ändern, wird der name der Seite. Ich Durchlaufen haben, und es ist schmerzlich; Sie haben im Grunde notieren Sie alle Namen von Ihren Seiten in der Vergangenheit gehabt haben, nur damit Ihre Besucher/Suchmaschinen nicht Holen 404-jedes mal, wenn eine Seite umbenannt wird.
Hoffe, das hilft.
http://www.roadkillwiki.org/Page/12312-4133-434a23-4424fd-444/documentation
. Sieht aus wie ich brauchen eine andere Spalte mit einer anständigen IDc9a646d3-9c61-4cb7-bfcd-ee2522c8f633
nach unten zu00amyWGct0y_ze4lIsj2Mw
aber ich bin einverstanden; eineint
hier ist wahrscheinlich die am wenigsten störende Art und Weise.Wenn Sie nicht brauchen, eine "default route", die Sie zusammen mit Projekt-Vorlage können Sie die Einrichtung einer wie dieser:
Und als in Ihrem controller, den Sie haben würde, eine Aktion: