在asp.net mvc中自定义url-from-parameters查找

时间:2010-02-04 01:24:04

标签: asp.net-mvc routing

我有一个由代码

添加的路线
routes.MapRoute("MyRoute", "TheUrl", new { controller = "MyController", action = "MyAction" });

然后我可以使用像UrlHelper.Action("MyAction", "MyController")这样的参数进行反向查找,它会返回一个像~/TheUrl这样的好网址

但是,对于此路由,我希望生成的URL为~/TheUrl?p=2354,参数为某个版本控制参数。有没有办法通过映射路由与一些自定义路由处理程序或其他东西?版本控制参数将是非标准的,并且每次查找Url时都需要执行一些自定义代码。

1 个答案:

答案 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() %>
相关问题