Como obter a URL da página atual em C#

Alguém pode me ajudar a obter a URL da página de trabalho atual do ASP.NET em C#?

Experimente este :

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
Comentários (11)

se você só quer a parte entre http:// e a primeira fatia

string url = Request.Url.Host;

retornaria stackoverflow.com se fosse chamado a partir desta página

Aqui's a decomposição completa

Comentários (3)

Uma busca me levou a esta página, mas era'não era bem o que eu estava procurando. Postar aqui no caso de alguém procurando o que eu estava procurando também aterrissa nesta página.

Há duas maneiras de fazê-lo se você só tiver um valor de string.

.NET way:

O mesmo que @Canavar, mas você pode instanciar um novo objeto Uri

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

o que significa que você pode usar os mesmos métodos, por exemplo

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

string host = uri.host
// localhost

Regex way:

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

Comentários (1)