问题描述
|
我需要找出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);
,如果要求提供Page.getType.name,则将获得母版的名称,即aspx页面。
如果要使用正在使用的ascx控件的名称,请使用
me.GetType.Name.ToString
如果您的控件位于MyDir目录中,并且ascx的名称为test.ascx,则结果为
\“ ASP.MyDir_test_ascx \”
,您也可以使用(VB.Net):
Dim pageName as String = Page.GetType().Name
用下划线替换.extension
因此,将从Default.aspx返回Default_aspx
您还可以使用:
Dim pageName as String = CType(HttpContext.Current.CurrentHandler,Page).GetType().Name
这将产生与上述相同的结果。