我需要找出Web用户控件所在位置的名称。类似于HttpContext.Current.Request.Url.ToString(),但我只得到了此Web用户控件的页面。
Request.Url.Segments会给你一个字符串数组。最后一项是页面。
您应该尝试使用 Request.Url.LocalPath
属性
string fileNameFromLocalPath = Path.GetFileName(Request.Url.LocalPath);
这段代码有助于:
string filename = Path.GetFileName(Request.Url.AbsolutePath);
"ASP.MyDir_test_ascx"
你也可以使用(VB.Net):
Dim pageName as String = Page.GetType().Name
这个程序会将文件的扩展名替换为下划线。
例如,从 Default.aspx 得到的结果是 Default_aspx
你也可以使用:
Dim pageName as String = CType(HttpContext.Current.CurrentHandler, Page).GetType().Name
这将产生与上述描述相同的结果。
var page = Request.Url.Segments.Last();
- Chris L