none
Dúvida Função JavaScrip gerando PostBack RRS feed

  • Pergunta

  • Estou com está função no meu sistema, que limpa os campos, e atualiza o grid:

    $('.window .close').click(function (e) {
                                                //cancela o comportamento padrão do link
                                                e.preventDefault();
                                                $('#mask, .window').hide();
                                                document.location.href = '';
                                                    document.getElementById("<%= txtid_recebimento.ClientID %>").value = '';
                                                    document.getElementById("<%= txtidReceita.ClientID %>").value = '';
                                                    document.getElementById("<%= modalExercutar.InnerText %>").value = 'Cadastrar Contas a Receber';
                                                    GridRecebimento();
                                            });

    Essa função fica no X (fechar) do modal, porém na minha página tem várias tabs, e quando eu clico e executa a função, gera postback na página, e perde a tab selecionada, quando eu tiro a limpeza dos campos, ela não gera o postback. Como posso fazer para que está função não gere o postback de toda a página. Já tentei de várias formas que vi no fórum, porém nenhuma foi viável.

    sexta-feira, 28 de julho de 2017 12:15

Todas as Respostas

  • Olá,

    Esse bloco aqui que gerar update na página,remove ele.

    document.location.href = '';


    sexta-feira, 28 de julho de 2017 18:22
    Moderador
  • Boa Tarde Welington, quando removo esta parte do código, a função não realiza os procedimentos corretos. Será que existe uma outra forma sem dar o postback na página ? Pois toda forma que tento não da certo. Obrigado.
    sexta-feira, 28 de julho de 2017 18:35
  • Após fechar o modal você queria que atualizar o grid sem dar refresh na página toda? o que faz a página dar um postback é um input do tipo submit na página. Essa linha de código que está atualizando a página toda.

    sexta-feira, 28 de julho de 2017 19:11
    Moderador
  • Isso, gostaria que atualizasse o Grid, e limpasse os campos do modal. E como tem várias abas, se ele atualiza volta pra primeira. Eu precisava que não ocorre o postback na página toda, somente nesta parte.
    sexta-feira, 28 de julho de 2017 19:14
  • Com ajax dá para fazer isso, atualiza o grid sem dar refresh na página. Se tiver usando datatable.js ele já tem modo de fazer isso.

    sexta-feira, 28 de julho de 2017 21:08
    Moderador
  • Porém além de precisar que o grid atualize, preciso que o modal seja limpo, e que o button mude o nome. Tem alguma ideia, ou algum link, artigo que possa me ajudar?
    segunda-feira, 31 de julho de 2017 11:25
  • Olha so esse exemplo com datatables.js ele recarregando o grid. Seu grid é algum componete de terceiros? talvez ele já tenha essa função nele. O de resto para limpar os campos é só setar valor vazio neles.

    Nesse caso ele esta recarregando a cada 30 segundos
    https://datatables.net/reference/api/ajax.reload()
    segunda-feira, 31 de julho de 2017 12:25
    Moderador
  • Não, utilizo o GridView mesmo! Vou verificar o link e volto para informar se deu certo. Obrigado. 
    segunda-feira, 31 de julho de 2017 14:35
  • Eu não posso fazer que ele recarregue a cada 30 segundos, ou independente do tempo, pois o usuário pode estar com uma linha selecionada, e eu perco esta seleção. Eu preciso que quando fechar o grid, atualize o grid, e limpe os campos. Se eu não coloco esta linha: 

    document.location.href = '';

    Não ocorre como esperado, porém quando coloco esta linha ela perde a TAB selecionada. Preciso que continue na TAB selecionada então quando ocorrer o postback. Aí não iria ter problema ocorrer o postback.

    terça-feira, 1 de agosto de 2017 12:56
  • Isso foi so exemplo, acho que dá pra remover esse timer dele de 30 segundos. O gridview ele não tem a função de atualizar ele "nativo", já vi usando ele dentro updatepanel, mas não sei se encaixaria no que você já tem pronto.


    Dá uma pesquisada para você vê.
    terça-feira, 1 de agosto de 2017 14:18
    Moderador