2009-02-28 8 views
0

Mein HomeController steuert einige Seiten wie 'Index' und einige andere wie 'Kontakt', 'Über uns'.Wie kann ich Aktionen im HomeController ausführen, ohne "Home" einzugeben?

Aber, wenn ich schreibe:

www.blabla.com/ 

der 'Index' genannt wird, und es funktioniert.

Aber, wenn ich schreibe:

www.blabla.com/AboutUs 

es überhaupt nicht funktioniert! Es funktioniert nur, wenn ich schreibe:

www.blabla.com/Home/AboutUs 

Wie kann ich alle Aktionen in Homecontroller Arbeit machen, ohne „Home“, bevor sie schreiben?

Antwort

4

Sie müssen eine Route erstellen, die so aussieht.

routes.MapRoute("AboutUs", "AboutUs", 
       new 
       { 
        controller = "Home", 
        action = "AboutUs" 
       }); 

Sie können Ihre Routen in Ihrer Global.asax-Datei finden.

Der Grund dafür ist, wenn Sie Ihre Global.asax-Datei überprüfen, sollten Sie eine Standardroute sehen, die auf der Controller/Action-URL-Route funktioniert. Also, wenn Sie wollen/MyMethod müssen Sie eine Route dafür erstellen.

Sie könnten auch etwas wie versuchen.

routes.MapRoute("HomeActions", "{action}", 
       new 
       { 
        controller = "Home", 
        action = "Index" 
       }); 

Damit können Sie auf alle Ihre Heim-Controller-Aktionen zugreifen, indem Sie einfach ein/verwenden.

+0

Danke für Ihre Antwort Tschad! Aber eine andere Frage basierend auf dem, was du mir gesagt hast ... Wenn ich 10 Seiten in meinem HomeController habe, muss ich 10 neue Routen erstellen? Gibt es keine Möglichkeit zu sagen, dass auf alle Aktionen in HomeController ohne "Home /" zugegriffen wird? – AndreMiranda

+0

danke, Tschad !! Was du mir unten gesagt hast "Du könntest auch sowas ausprobieren" hat einfach perfekt funktioniert! Danke, Mann! – AndreMiranda

Verwandte Themen