Кажется, на 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. Почему независимо от того, что я указываю для действия, по умолчанию используется индекс?