SO处理MapRoute问题似乎有很多问题。我已经阅读了其中的一堆,但我看不出我在实现中做错了什么。我已经设置了以下路线:
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"})
和以下 RouteLink:
<%=Html.RouteLink("Show", "FilesDisplay", New With {.year = 2008, .month = 5})%>
但是,“显示”的结果 URL 是 /Files/Index/2008/5。为什么它选择 Index 动作而不是 Display 动作?
编辑:作为一个云雀,我将第二条路由更改为.action = "Display"
只是为了查看是否可以更改 URL,它仍然解析为 /Files/Index/2008/5。
编辑2:我也试过:
<%=Html.ActionLink("Show", "Display", "Files", New With {.year = 2008, .month = 5}, Nothing)%>
但这也可以解析为 /Files/Index/2008/5。为什么无论我为某个操作指定什么,它都默认为索引?