我正在使用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/

10-10 10:40