0

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。为什么无论我为某个操作指定什么,它都默认为索引?

4

1 回答 1

0

升级到 MVC RC 1.0 似乎可以修复 ActionLink,但不能修复 RouteLink。因此,我正在推进 ActionLink。我很想知道为什么 RouteLink 不想工作。

于 2009-03-31T18:04:54.443 回答