我想从当前页面对象获取pagename.aspx。我不希望通过HttpContext.Current。请求来做这件事,因为如果我已经在页面上做某事,为什么不从页面抓取它...我不需要担心这里的任何背景。
我猜页面已经有了名称,我只需要附加.aspx,但有没有办法自动获取扩展名?
答案 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;
}
答案 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属性中获取它。