2009-03-31 13 views
0

Es scheint eine Menge Probleme bei SO zu geben, die sich mit MapRoute-Problemen befassen. Ich habe eine Reihe von ihnen gelesen, aber ich kann nicht sehen, was ich bei meiner Implementierung falsch mache. Ich habe über die folgenden Routen einrichten bekam:ASP.Net MVC MapRoute Problem

routes.MapRoute(_ 
    "FilesDisplay", _ 
    "{controller}/{action}/{year}/{month}", _ 
    New With {.controller = "Files", .action = "Display", .year = "", .month = ""}) 

routes.MapRoute(_ 
    "Default", _ 
    "{controller}/{action}", _ 
    New With {.controller = "Files", .action = "Index"}) 

und die folgende Routelink:

<%=Html.RouteLink("Show", "FilesDisplay", New With {.year = 2008, .month = 5})%> 

jedoch die resultierende URL für "Show" ist/Files/Index/2008/5. Warum wird die Aktion "Index" anstelle der Aktion "Anzeige" verwendet?

Edit: Als Lerche änderte ich den zweiten Weg zu .action = "Display" nur um zu sehen, ob ich die URL zu ändern bekommen konnte und es noch beschließt zu/Files/Index/2008/5.

Edit 2: ich auch versucht:

<%=Html.ActionLink("Show", "Display", "Files", New With {.year = 2008, .month = 5}, Nothing)%> 

aber das löst auch/Files/Index/2008/5. Warum ist es egal, was ich für eine Aktion vorschlage, ist es standardmäßig Index?

+0

In welcher Version von ASP.NET MVC laufen Sie? Es gab ein Problem mit RouteLinks, bei dem Sie den Controller und die Aktion in einem der Releases explizit angeben mussten. –

+0

Ich glaube, das ist RC1 (wo kann ich überprüfen, um sicher zu sein?). – gfrizzle

+0

Ich denke, es wird in Ihrer Programmliste unter dem Bedienfeld angezeigt. Ich glaube nicht, dass Sie mehr als eine Version installieren können. – Ayo

Antwort

0

Das Upgrade auf MVC RC 1.0 schien ActionLink zu reparieren, nicht jedoch RouteLink. Deshalb mache ich Fortschritte mit ActionLink. Ich würde gerne wissen, warum RouteLink nicht arbeiten will.