从Page对象中获取PageName.aspx

时间:2009-12-02 18:17:47

标签: asp.net

我想从当前页面对象获取pagename.aspx。我希望通过HttpContext.Current。请求来做这件事,因为如果我已经在页面上做某事,为什么不从页面抓取它...我不需要担心这里的任何背景。

我猜页面已经有了名称,我只需要附加.aspx,但有没有办法自动获取扩展名?

5 个答案:

答案 0 :(得分:6)

public string GetCurrentPageName() 
{ 
    string sPath = Request.Url.AbsolutePath;
    System.IO.FileInfo oInfo = new System.IO.FileInfo(sPath); 
    string sRet = oInfo.Name; 
    return sRet; 
} 

(改编自http://www.aspcode.net/Get-current-page-name.aspx

答案 1 :(得分:2)

我相信这会奏效(但我没有测试)

 string sRet = System.IO.Path.GetFileName(Request.Url.AbsolutePath)

它与Larsenal基本相同,但它使用静态解析器而不是对象。

答案 2 :(得分:0)

可能有点太晚了,但这会帮助其他人..

var path = Path.GetFileName(Request.PhysicalPath);

答案 3 :(得分:-1)

在页面代码中,

this.GetType().Name

this.GetType().Name.Split('_')[0]

答案 4 :(得分:-1)

您可以从AppRelativeVirtualPath属性中获取它。