1

我在 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 是我有路线的自定义对象。

4

1 回答 1

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
 }
于 2012-06-29T09:37:42.123 回答