web-dev-qa-db-fra.com

obtenir la page actuelle de l'url

Je veux écrire une méthode c # pour récupérer la page actuelle. par exemple Default6.aspx Je sais que je peux faire ce qui suit:

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

mais comment puis-je obtenir Default6.aspx? Et si l'URL est http: // localhost: 1302/TESTERS / , ma méthode doit retourner default.aspx

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

La classe dont vous avez besoin est 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

Essaye ça:

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

Une fonction simple comme ci-dessous vous aidera:

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

Vous pouvez essayer ceci ci-dessous.

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

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

J'espère que cela t'aides.

1
scartag
Request.Url.Segments.Last()

Une autre option.

1
cl0rkster