Как да получите URL адреса на текущата страница в C#

Може ли някой да ми помогне да получа URL адреса на текущата работна страница на ASP.NET в C#?

Опитайте това:

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
Коментари (11)

ако искате само частта между http:// и първата наклонена черта

string url = Request.Url.Host;

ще върне stackoverflow.com, ако се извика от тази страница

Ето и пълната разбивка

Коментари (3)

Търсенето ме доведе до тази страница, но тя не беше точно това, което търсех. Публикувам тук в случай, че някой друг, който търси това, което аз бях, също се озове на тази страница.

Има два начина да го направите, ако разполагате само с низ от стойности.

.NET начин:

Същият като @Canavar, но можете да инстанцирате нов Uri обект.

String URL = "http://localhost:1302/TESTERS/Default6.aspx";
System.Uri uri = new System.Uri(URL);

което означава, че можете да използвате същите методи, напр.

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

string host = uri.host
// localhost

Regex начин:

https://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex

Коментари (1)