Como capturar o endereço e o nome da página atual no ASP.NET
As vezes precisamos capturar o endereço de uma página na nossa aplicação durante a sua execução, daí a primeira coisa que nos vem na cabeça seria utilizar o método FilePath da classe Request ou a coleção ServerVariables que existia no ASP.3.0.
Porém, esses métodos só funcionam quando você trabalha com redirecionamentos simples de páginas, um exemplo é usando Response.Redirect. Como fazermos então para capturar o endereço da página quando redirecionamos a mesma com Server.Transfer() ou Server.Execute()?
Para capturar é muito simples, utilizamos o método CurrentExecutionFilePath da classe Request:
'Retorna o endereço completo da página atual
Dim strPaginaAtual As String = Request.CurrentExecutionFilePath
'Retorna apenas a página atual
strPaginaAtual = strPaginaAtual.Remove (0, strPaginaAtual.LastIndexOf ("/") + 1)
Só lembrando que se tentarmos capturar nesse caso através do FilePath ou da coleção Server.Variables, ele retornará a página que postou e não a atual.