web-dev-qa-db-ja.com

URLから.aspxページ名を取得する方法は?

URLから現在のPageName.aspx(拡張子.aspxを含む)を取得するためにどのオブジェクトを使用できますか?ページを表示しているときに、これを取得できるオブジェクトとメソッドが見つかりません。

17
PositiveGuy

ピノはここにソースリルマンです: http://www.devx.com/tips/Tip/424

  string sPagePath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
    System.IO.FileInfo oFileInfo = new System.IO.FileInfo(sPagePath);
    string sPageName = oFileInfo.Name;
14
JonH

GoDaddyのような共有ホスティングでは、新しいFileInfoオブジェクトを作成する権限がない場合があることに注意してください。はい、信じてください。

したがって、このスニペットを使用することをお勧めします。

string fullPath = /* System.Web.HttpContext.Current. (optional in most cases) */ Request.Url.AbsolutePath;
string fileName = System.IO.Path.GetFileName(fullPath);

楽しい :-)

16
Ron Klein

http://www.aspcode.net/Get-current-page-name.aspx

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

'/'について分割し、最後の項目はファイル名です。

2
Alex Polkhovsky

Path.GetFileName(Request.PhysicalPath)を使用して、実際のファイル名を取得できます

1
prameela rani

使用したのは:Request.Url.LocalPathで、完全なURLが https://www.example.com/?foo=bar の場合でも、「/ default.aspx」が表示されます。先頭の/を削除する必要があります。

0
Flo