我正在尝试将我们的链接切换到T4MVC,但我遇到了一个不属于动作签名的参数的小问题。我们的路线是这样的:
http://www.mydomain.com/{fooKey}/{barKey}/{barID}
==> 导致BarController.Details(barID)。
fooKey 和 barKey 仅出于 SEO 目的添加到链接中。(因为 bar 是 foo 的子实体,我们希望在 URL 中表示该层次结构)
到目前为止,我们会使用
<% =Html.ActionLink(bar.Name, "Details", "Bar", new {barID = bar.ID, fooKey = bar.Foo.Key, barKey = bar.Key}, null)%>
这将引导我们到 BarController.Details(barID),同时将 fooKey 和 barKey 保留在 URL 中。
现在我们从 T4MVC 开始,我们尝试将其更改为
<% =Html.ActionLink(bar.Name, MVC.Bar.Details(bar.ID), null)%>
由于 barKey 和 fooKey 不是 Details 操作签名的一部分,因此它们不再在 URL 中可见。
有没有办法解决这个问题而不必将这些参数添加到动作签名中?