Все, моя ситуация такова, что у меня есть базовый маршрут, а также некоторые другие простые маршруты:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = 1}
);
Так работает следующий URL: http://somesite.com/tags/index/1
Однако, некоторые из моих страниц индекса принимают параметры URL следующим образом:
http://somesite.com/tags/index/1?when=lastmonth
Как я могу использовать Html.RouteLink для ссылки на это?
Вы не можете добавить '?' к маршрутам в глобальном asax-файле, например:
routes.MapRoute("TagsWhen", "Tags/index/{id}?when={when}",
new {controller = "Tags", action = "Index", id = "", when = ""});
Если бы этот маршрут работал, я мог бы связать его с помощью:
Html.RouteLink(string.Format("{0} ", link.Rating), "LinksWhen",
new {id=link.ReferenceId, when=Model.When})
но это не так! Поэтому я не уверен, как бы использовать Html.RouteLink для генерации http://somesite.com/tags/index/1?when=lastmonth