我正在尝试将我们的链接切换到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)%>
Run Code Online (Sandbox Code Playgroud)
这将导致我们使用BarController.Details(barID),同时在URL中保留fooKey和barKey.
现在我们开始使用T4MVC,我们尝试将其更改为
<% =Html.ActionLink(bar.Name, MVC.Bar.Details(bar.ID), null)%>
Run Code Online (Sandbox Code Playgroud)
由于barKey和fooKey不是Details操作签名的一部分,因此URL中不再显示它们.
有没有办法绕过这个而不必将这些参数添加到动作签名中?