2009-03-31 5 views
0

Il semble y avoir beaucoup de problèmes sur SO traitant des problèmes MapRoute. J'ai lu beaucoup d'entre eux, mais je ne peux pas voir ce que je fais mal dans ma mise en œuvre. J'ai les itinéraires suivants mis en place:ASP.Net MVC MapRoute problème

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"}) 

et la RouteLink suivante:

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

Cependant, l'URL résultant pour "Show" est/fichiers/Index/2008/5. Pourquoi sélectionne-t-il l'action Index au lieu de l'action Afficher?

Edit: comme un pinson j'ai changé la deuxième route vers .action = "Display" juste pour voir si je pouvais obtenir l'URL pour changer, et il encore décide de/fichiers/Index/2008/5.

Edit 2: J'ai aussi essayé:

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

mais cela résout aussi/Files/Index/2008/5. Pourquoi est-ce que peu importe ce que je spécifie pour une action, c'est par défaut Index?

+0

Quelle version d'ASP.NET MVC utilisez-vous? Il y avait un problème avec RouteLinks par lequel vous deviez indiquer explicitement le contrôleur et l'action dans l'une des versions. –

+0

Je crois que c'est RC1 (où puis-je vérifier pour être sûr?). – gfrizzle

+0

Je pense qu'il s'affiche dans votre liste de programmes sous le panneau de contrôle. Je ne pense pas que vous pouvez avoir plus d'une version installée. – Ayo

Répondre

0

La mise à niveau vers MVC RC 1.0 semblait corriger ActionLink mais pas RouteLink. Par conséquent, je vais de l'avant avec ActionLink. J'aimerais savoir pourquoi RouteLink ne veut pas travailler.

Questions connexes