none
Tem como o usuário clicar no botão “enviar” e a página voltar para este mesmo ponto? RRS feed

  • Pergunta

  • Pessoal do Forum:

    Uma página em vb.net e html, tem um formulário no fim da página.

    Quando o usuário clica no botão “enviar” a página atualiza e vai lá para cima.

    Desta forma o usuário teria que rolar a página para baixo para ver se os dados foram enviados ou se houve algum erro.

    Pergunto ao pessoal do fórum: Tem como, em Vb.net, o usuário clicar no botão “enviar” e a página voltar para este mesmo ponto?

    Agradeço a quem puder ajudar.

    Ivan Albuquerque

    sexta-feira, 19 de fevereiro de 2016 23:27

Respostas

  • Você pode adicionar o  MaintainScrollPositionOnPostback="true" no seu arquivo.aspx )geralmente é a primeira linha do documento.

     <%@ Page MaintainScrollPositionOnPostback="true" %>
    Isso vai gerar automaticamente um javascript que vai rolar a página até o ponto onde o cliente estava após o clique no botão.

    • Sugerido como Resposta Cesar Cassiano Schimanco domingo, 21 de fevereiro de 2016 00:21
    • Marcado como Resposta Marcos SJ segunda-feira, 22 de fevereiro de 2016 12:42
    sábado, 20 de fevereiro de 2016 16:35

Todas as Respostas

  • Olá,

    Se as posições das mensagem forem fixo, da para fazer assim.

     window.scrollTo(0, 500);

    Com o JavaScript acima você rola a página até da para ver as mensagem de erro.

    e no click do botão você insere ele na página para ser executado.

    protected void Page_Load(object sender, System.EventArgs e)
     {
          myScript = "\n<script type=\"text/javascript\" language=\"Javascript\" id=\"EventScriptBlock\">\n";
            myScript += " window.scrollTo(0, 500);";
            myScript += "\n\n </script>";
         Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", myScript, false);
     }

    Aqui tem um exemplo de um js inserindo na página, quando a página é carregada.

    fonte:

    http://stackoverflow.com/questions/7046565/inject-javascript-from-asp-net-code-behind-files


    sábado, 20 de fevereiro de 2016 01:05
    Moderador
  • Você pode adicionar o  MaintainScrollPositionOnPostback="true" no seu arquivo.aspx )geralmente é a primeira linha do documento.

     <%@ Page MaintainScrollPositionOnPostback="true" %>
    Isso vai gerar automaticamente um javascript que vai rolar a página até o ponto onde o cliente estava após o clique no botão.

    • Sugerido como Resposta Cesar Cassiano Schimanco domingo, 21 de fevereiro de 2016 00:21
    • Marcado como Resposta Marcos SJ segunda-feira, 22 de fevereiro de 2016 12:42
    sábado, 20 de fevereiro de 2016 16:35
  • Prezado Welington Junior:

    Muito grato pela sua resposta.

    Segui a dica que coloca na linha Page MaintainScrollPositionOnPostback="true" que faz exatamente o que você mostrou, só que já vem pronto.

    Muito agradecido.

    domingo, 21 de fevereiro de 2016 00:02
  • Prezado Cesar Cassiano:

    Esta tua dica MaintainScrollPositionOnPostback="true" foi como se tirasse um coelho da cartola. Uma mágica. Eu jamais imaginaria que existisse isso, e eu procurei bastante, já estava fazendo um programa complicado que faria isso.

    A solução apresentada por você foi rápida, simples e eficiente. Muito agradecido.

    Ivan Albuquerque

    domingo, 21 de fevereiro de 2016 00:04
  • Ei Ivan,

    Que ótimo que deu certo, sempre que tiver alguma dúvida e não conseguir encontrar... poste aqui no forum que sempre tem alguém que provavelmente já passou pelo que está passando.

    Marque como Respondida para que ajude outros que estiverem procurando. Abraço.

    domingo, 21 de fevereiro de 2016 00:20
  • Prezado Cesar:

    Na sua mensagem você pede para eu marcar como Respondida a minha dúvida. Há muito tempo não uso o Msdn Forum e gostaria de marcar, mas não achei onde e como marcar como Respondida. Por favor, me dê uma dica de como marcar, que o farei imediatamente.

    Grato

    Ivan Albuquerque

    sábado, 27 de fevereiro de 2016 16:50