关于如何处理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})%>然而,"Show“的最终URL是/Files/ Index /2008/5。为什么它选择索引操作而不是显示操作?
编辑:作为一只云雀,我改变了第二条路径到.action = "Display",只是为了看我是否能得到要更改的URL,而仍然解析为/Files/Index/2008/5。
编辑2:我也尝试过:
<%=Html.ActionLink("Show", "Display", "Files", New With {.year = 2008, .month = 5}, Nothing)%>但这也决定为/Files/Index/2008/5。为什么不管我为某个操作指定了什么,它都默认为Index?
发布于 2009-03-31 18:04:54
升级到MVCR1.0似乎可以修复ActionLink,而不是RouteLink。因此,我将继续使用ActionLink。我很想知道为什么RouteLink不想工作。
https://stackoverflow.com/questions/700826
复制相似问题