Я пытаюсь переключить наши ссылки на T4MVC, и у меня небольшая проблема с параметрами, которые не являются частью сигнатуры действия. У нас есть маршрут, который проходит что-то вроде этого:T4MVC Ссылки для SEO
http://www.mydomain.com/{fooKey}/{barKey}/{barID}
==> приводит к BarController.Details (barID).
fooKey и barKey добавляются только к ссылкам для целей SEO. (поскольку бар является дочерним субъектом обув, и мы хотим, чтобы представить эту иерархию в URL)
До сих пор мы использовали бы
<% =Html.ActionLink(bar.Name, "Details", "Bar", new {barID = bar.ID, fooKey = bar.Foo.Key, barKey = bar.Key}, null)%>
И это приведет нас к BarController.Details (barID), сохраняя в URL-адресе fooKey и barKey. не
Теперь, когда мы начали с T4MVC, мы попытались изменить его на
<% =Html.ActionLink(bar.Name, MVC.Bar.Details(bar.ID), null)%>
С Барки и fooKey не являются частью подписи детали действия, они больше не будут видны в URL.
Есть ли способ обойти это без необходимости добавлять эти параметры к сигнатуре действия?
Как настроено маршрутизация? – PanJanek
Соответствующий маршрут сконфигурирован следующим образом: routes.Add (новый или нижний регистр) (44), новый RouteValueDictionary (new {controller = "Bar", action = "Подробнее "}), новый RouteValueDictionary (новый {id = @" \ d + "}), новый MvcRouteHandler())); Нижняя регистрRoute отсюда - http://www.coderjournal.com/2008/03/force-mvc-route-url-lowercase/ –
(Извините за страшный отступ) –