web-dev-qa-db-ja.com

URLから現在のページを取得

現在のページを取得するc#メソッドを作成したい。例:Default6.aspx次のことができることを知っています。

string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx

string Host = HttpContext.Current.Request.Url.Host;
// localhost

しかし、どうすればDefault6.aspxを入手できますか? URLが http:// localhost:1302/TESTERS / の場合、私のメソッドはdefault.aspxを返す必要があります

35
amateur
Path.GetFileName( Request.Url.AbsolutePath )
46
Paul Alexander

必要なクラスはSystem.Uri

Dim url As System.Uri = Request.UrlReferrer 
Debug.WriteLine(url.AbsoluteUri)   ' => http://www.mysite.com/default.aspx
Debug.WriteLine(url.AbsolutePath)  ' => /default.aspx
Debug.WriteLine(url.Host)          ' => http:/www.mysite.com
Debug.WriteLine(url.Port)          ' => 80
Debug.WriteLine(url.IsLoopback)    ' => False

http://www.devx.com/vb2themax/Tip/18709

12
acermate433s

これを試して:

path.Substring(path.LastIndexOf("/");
6
nrph

以下のような単純な関数が役立ちます:

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; 
} 
5
Neil Knight

これを以下で試すことができます。

string url = "http://localhost:1302/TESTERS/Default6.aspx";

string fileName = System.IO.Path.GetFileName(url);

お役に立てれば。

1
scartag
Request.Url.Segments.Last()

別のオプション。

1
cl0rkster