Подтвердить что ты не робот

Получить текущую страницу с URL-адреса

Я хочу написать метод С# для извлечения текущей страницы. например 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

4b9b3361

Ответ 1

Path.GetFileName( Request.Url.AbsolutePath )

Ответ 2

Класс, в котором вы нуждаетесь, 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

Ответ 3

Попробуйте следующее:

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

Ответ 4

Простая функция, как показано ниже, поможет:

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

Вы можете попробовать это ниже.

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

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

Надеюсь, что это поможет.

Ответ 6

Request.Url.Segments.Last()

Другая опция.