Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
894
Assunto : ASP.NET
Titulo: Desabilitar um botão após o click

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon


Esta dica pode parecer bobinha, mas já vi várias pessoas quebrando a cabeça para resolver isso.

Claro que, por se tratar de uma atividade da interface, isso é algo que precisa ser feito no client, por javascript.

A dificuldade maior está no fato de que o ASP.NET inclui seu próprio código no momento de click do botão e se este código for perdido ou alterado a ida ao servidor não ocorre. Além disso e evento de click do botão simplesmente deixa de funcionar se o botão for renderizado como botão de submit

Atualmente temos a propriedade useSubmitBehavior que determina o comportamento do botão : Deve ou não ser renderizado como um botão de submit ? Devemos mudar esta propriedade para FALSE - não ser um botão de submit.

Feito isso, vamos fazer uso da propriedade onClientClick do próprio botão. Alguns que já tentaram utilizar esta propriedade tentaram o seguinte :

this.disabled=true;return true

e não funcionou. Então vou contar porque não funcionou : Porque o conteudo da propriedade onClientClick é inserido ANTES do código javascript inserido pelo ASP.NET.

Isso faz com que a presença daquele "return true" cancele a execução do código javascript do ASP.NET, que causaria a ida ao servidor. Resolver isso é muito simples, basta alterar a propriedade onclientClick para :

this.disabled=true

Resolvido o problema e o botão será desabilitado após ser clicado.

Isso funciona tanto em situações tradicionais quanto para botões contidos dentro de updatePanels


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 9/8/2017 12:51:00 PM
nome: teste
email: jp@gmail.com
comentário:
sdsds

data: 8/15/2017 5:42:00 PM
nome: ffff
email: tesete@tes.com
comentário:
fffff

data: 4/25/2017 2:52:00 PM
nome: teste
email: tetes@teste.com
comentário:
teste

data: 8/24/2016 11:00:00 AM
nome: 1
email: 1@gmail.com
comentário:
123

data: 7/25/2016 10:12:00 AM
nome: wagner
email: wagner@uol.com
comentário:
teste

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br