Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um botão (button) em página asp.net (Vb.Net) que ao usuário clicar posta o form, porém eu quero que antes o botão fique disabilitado evitando que o usuário clique novamente pois o processamento pode demorar e a impaciência do usuário é grande.
Como inibir o botão ou mesmo não permitir um novo post desta página?
Obrigado
Por favor,
Alguma outra solução não utilizando ajax?
sem ajax podes utilizar uma função javascript, exemplo:
btnEnviar.OnClientClick = "return Clique('Aguarde a requisição posterior esta sendo processada.');";
<script type="text/javascript" language="javascript">
vCliq = 0;
function Clique(pMsg){
if (vCliq == 0) {
vCliq = 1;
objWin=window.showModelessDialog("aguarde.htm", "Aguarde","dialogWidth:600px;dialogHeight:170px;help:no;status:no;center:yes");
return true;
}
else {
alert(pMsg);
return false;
}
}
</script>
OBS.: essa linha é opcional objWin=window.showModelessDialog
sugestão para o aguarde.htm
<HTML>
<HEAD>
<TITLE>Aguarde...</TITLE>
</HEAD>
<BODY bgColor=white link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<TABLE WIDTH=75% ALIGN=center border=0 CELLSPACING=10 CELLPADDING=0 bgcolor=White>
<TR>
<TD align=center>
<FONT color=Red>
<B>Aguarde, este processo pode demorar alguns minutos!! </B>
<BR>
<img src="imgs/processo.gif" visible="true" />
<br />********************************************************************
<br />NÃO ATUALIZE A TELA E NEM USE NOVAMENTE O PROGRAMA ANTES DO FIM DO PROCESSAMENTO
<br />********************************************************************<br>
</FONT>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
aqui tem uma solução com asp.net ajax
http://www.codeproject.com/Articles/96407/How-to-disable-subsequent-submit-button-clicks-whe
<%@ Page Title="Test Disable Subsequent Submit Clicks Page"
Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="_Default" %>
protected void Submit_Click(object sender, EventArgs e)
{
//A long running operation