如何从路由列表中获取实际的URL?

时间:2012-06-29 08:55:44

标签: c# asp.net .net asp.net-routing

我有一组在System.Web.Routing中定义的路由,需要获取带有.aspx扩展名的实际url。我试过这段代码,但我在这里做错了什么:

 var path = RouteTable.Routes.GetVirtualPath(null, item.Link, null);
 var link = path.Route.GetVirtualPath(null, null);
 if (link.VirtualPath.ToLower().Contains("~/displaycmspage.aspx?pagename="))
 {
      //do work on url here
 }

关于我如何做到这一点的任何想法? item.link是一个自定义对象,我有路径。

1 个答案:

答案 0 :(得分:1)

好的,所以我找到了答案:

 var path = RouteTable.Routes[item.Link];
 Route ruta = path as Route;
 var link = ruta.RouteHandler as PageRouteHandler;
 if (link.VirtualPath.ToString().ToLower().Contains("~/displaycmspage.aspx?pagename="))
 {
      //do work on url here
 }