1
我有一系列在System.Web.Routing中定義的路由,並且需要獲取具有.aspx擴展名的實際url。我試過這個代碼但我在這裏做得不對:如何從路由列表中獲取實際的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是一個自定義對象,我有路線。
不要使用'ToLower將()包含()'。使用'StringComparison.OrdinalIgnoreCase' [改爲](http://msdn.microsoft.com/zh-cn/library/ms224425.aspx)。 – abatishchev
''PageRouteHandler.VirtualPath' is _already_' a [string](http://msdn.microsoft.com/en-us/library/system.web.routing.pageroutehandler.virtualpath.aspx)! – abatishchev
- 我不知道StringComparison.OrdinalIgnoreCase - 謝謝 - 我知道它已經是一個字符串,我只是忘記了ToString()方法,因爲我經常更改代碼,而且我沒有做任何清理。無論如何,謝謝你的評論。 – Bobby5193