我有一个由代码
添加的路线routes.MapRoute("MyRoute", "TheUrl", new { controller = "MyController", action = "MyAction" });
然后我可以使用像UrlHelper.Action("MyAction", "MyController")
这样的参数进行反向查找,它会返回一个像~/TheUrl
这样的好网址
但是,对于此路由,我希望生成的URL为~/TheUrl?p=2354
,参数为某个版本控制参数。有没有办法通过映射路由与一些自定义路由处理程序或其他东西?版本控制参数将是非标准的,并且每次查找Url时都需要执行一些自定义代码。
答案 0 :(得分:-1)
我认为UrlHelper扩展方法在这里是最理想和最简单的。
public string MyRoute(this UrlHelper url)
{
string versionNumber = GetVersionNumber(); // or w/e is required to get it
return Url.Action("MyAction", "MyController") + "?p=" + versionNumber;
}
这样可以在html中轻松调用该路径
<%= Url.MyRoute() %>