получить текущую страницу из URL - PullRequest
35 голосов
/ 28 января 2011

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

Ответы [ 6 ]

46 голосов
/ 28 января 2011
Path.GetFileName( Request.Url.AbsolutePath )
12 голосов
/ 28 января 2011

Нужный вам класс: 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

6 голосов
/ 28 января 2011

Попробуйте это:

path.Substring(path.LastIndexOf("/");
5 голосов
/ 28 января 2011

Простая функция, подобная приведенной ниже, поможет:

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; 
} 
1 голос
/ 22 июня 2017
Request.Url.Segments.Last()

Другой вариант.

1 голос
/ 28 января 2011

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...