我正在使用System.Web.Routing来提供一些更好的URL,并遇到了问题。我需要知道处理请求的实际页面。
例如,一个请求来自:
/basketball/home
我需要找到处理该请求的页面,例如:
/management/default.aspx
我只使用System.Web.Routing,而不是MVC。我有一个RequestContext的句柄,其中包含一些路由信息,但我看不到我所需要的。
提前致谢。
******* 更新 *******
我能够使用 Context.CurrentHandler ,它为我提供了“ASP.management_default_aspx” ,不完全是页面,但足以获取页面名称。
最佳答案
实际上,还有另一种获取实际页面的简单方法:String vPath = ((System.Web.Routing.PageRouteHandler)Page.RouteData.RouteHandler).VirtualPath
不要忘记检查Page.RouteData.RouteHandler是否为null-在获取不带ASP.Net路由但直接获取页面的页面时。
关于Asp.Net System.Web.Routing查找实际的.aspx页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/721392/