none
Obter URL RRS feed

  • Pergunta

  • Como faço para capturar a url do navegador dentro do meu controller, sem que seja a URL após o clique.

    Por exemplo:

    Hoje quando chamo meu método ActionResult no controller ele já não me retorna mais a url que está no navegador, ele retorna a nova que será montada após o retorno da chamada.

    Gostaria de utilizar algo que não tenha que passar da VIEW para o Controller esta informação.

    quinta-feira, 4 de janeiro de 2018 13:18

Respostas

  • Anderson,

    Mas se o usuário não possui permissão para a tela www.xpto.com.br/RH/Cargo/Salario, você mesmo assim irá exibi-la? 

    De qualquer modo, você pode usar a propriedade abaixo para pegar a URL que disparou a navegação:

    Request.UrlReferrer


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 4 de janeiro de 2018 13:52

Todas as Respostas

  • Anderson,

    Não sei se entendi bem o que quer, mas tente na sua action utilizando o seguinte código:

    // Se MVC 5
    var fullUrl = Request.RequestUri.PathAndQuery;
    
    // Se MVC <= 4
    var fullUrl4 = Request.Url.PathAndQuery;
    Assim você capturará a URL completa que originou a chamada para sua action/controller.


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.


    quinta-feira, 4 de janeiro de 2018 13:26
  • Olá Juliano, obrigado por seu retorno.

    Então, eu preciso da url que está fixa no navegador, no momento do clique.

    seria a mesma coisa de utilizar o window.location.pathname  só que dentro do Controller.

    Se eu utilizar o Request.Url.PathAndQuery ele vai me retornar a url da Action que foi chamada.

    Preciso fazer isso para ir ao banco de dados e validar se o usuário possuí permissão para acessar a url que ele digitou no navegador.

    Por exemplo:

    www.xpto.com.br/RH/Cargo/Salario

    Dentro da minha tela existem várias chamadas:

    RH/Empresa/ObterEmpresa

    RH/Estabelecimento/ObterEstabelecimento

    RH/Divisao/ObterDivisoes

    Mesmo que ele chame cada uma das Actions anteriores, o que preciso validar é a URL www.xpto.com.br/RH/Cargo/Salario.

    quinta-feira, 4 de janeiro de 2018 13:39
  • Anderson,

    Mas se o usuário não possui permissão para a tela www.xpto.com.br/RH/Cargo/Salario, você mesmo assim irá exibi-la? 

    De qualquer modo, você pode usar a propriedade abaixo para pegar a URL que disparou a navegação:

    Request.UrlReferrer


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quinta-feira, 4 de janeiro de 2018 13:52
  • Funcionou, obrigado.
    quinta-feira, 4 de janeiro de 2018 15:48