2010-10-08 12 views
8

Ich habe diese StreckeSo rufen Sie den Routennamen in Html.ActionLink asp.net MVC?

routes.MapRoute(
    "ViewGames",  // Route name 
    "psp/{controller}/{action}",       // URL with parameters 
    new { controller = "Games"} // Parameter defaults 
); 

und ich <%= Html.ActionLink("God of War", "godofwar", "Games")%> alle obwohl es mir einen Link wie diesen somesite.com/psp/games/godofwar/ aber die andere Verbindung wurde auch so gibt zum Beispiel mein Homecontroller dieses somesite.com/psp/home/about/ wurde?

Wie kann der routename aufgerufen werden, damit andere die ViewGames Route nicht haben?

Ich möchte nicht versuchen, diese <a href="/psp/games/godofwar/">, die nicht gut ist ...

Antwort

22

Sie rufen explizit eine Route

<%: Html.RouteLink("link_text", "route_name", route_parameters) %> 

Alle Überlastungen für Html.RouteLink verwenden here

+2

sind Sie sicher? der erste Parameter für RouteLink ist der Ankertext und der zweite ist der Routenname ... also: Html.RouteLink ("link_text", "route_name", route_parameters) – davidhq

+1

Vielen Dank für diese Antwort. Warum liefert Microsoft keine textuelle Beschreibung dessen, was die Methode in ihrer Dokumentation tut? Es gibt alle Überlastungen, aber die Überlastungen von was? Was tut es? Hoffentlich liest jemand bei MS dies! – voam

Verwandte Themen