ASP.NET-Web用户控件中页面的当前名称?

问题描述

| 我需要找出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
这将产生与上述相同的结果。