Usuário com melhor resposta
Botão avançar

Pergunta
-
Galera tenho uma aplicação Web que está muito lenta e quando clica mais de uma vez no botão avançar ele me gera mais de um registro no banco de dados. Como posso fazer para travar o botão ou mesmo independente da quantidade de vezes que ele for clicado, só gerar um registro ? Qual a melhor forma de fazer ?
Obrigado
SirSmart
Respostas
Todas as Respostas
-
-
-
Cara,
No seu code behind no evento click do botão logo na primeira linha:
protected void Botao_Click(object sender, EventArgs e) { Botao.Enable = false; ... Botao.Enable = true; }
Ou tente a ideia do nosso amigo ai em cima:
Button1.Attributes.Add("onclick", "this.disabled=true;" +ClientScript.GetPostBackEventReference(Button1, "").ToString());
- Editado Samuel Rodrigues dos Anjos sexta-feira, 11 de janeiro de 2013 19:49
- Sugerido como Resposta Samuel Rodrigues dos Anjos sexta-feira, 11 de janeiro de 2013 19:49
-
-
Guilherme,
A lógica acima que informei deixará disponível apenas o primeiro click, pois nada mais nada menos fará o mesmo processo que o seu código proposto acima com o "disabled=true", porém de uma forma pouco menos complicado para o nosso amigo ai.
Atenciosamente, Samuel dos Anjos
-
Na verdade não fará Samuel, se você testar as duas situações verá a diferença no resultado, se clicar seguidamente em qualquer botão, supondo uma operação de inserção no banco, serão inseridos vários registros, o trecho que você postou funciona depois que a requisição passa pelo servidor, já o outro é acionado imediatamente no evento javascript.