2010-01-28 17 views

risposta

4

onclick = "THIS.Enabled = false" aggiungere questo dal codice dietro al vostro controllo

btnAdd.Attributes.Add ("onclick", "THIS.Enabled = false;");

Questo legame spiega dettagliatamente http://encosia.com/2007/04/17/disable-a-button-control-during-postback/

+0

se si intende mybutton.onlick = "this.enabled = false", quindi non esiste un metodo onlick definito per questo. – stckvrflw

+0

sarebbe l'evento lato client attivato dopo aver fatto clic sul pulsante, se si desidera disabilitare dal lato server è facile btnAdd.Enabled = false; – Ravia

0

vorrei utilizzare un UpdatePanel arround il pulsante. Al clic è possibile disabilitare il pulsante sul lato server. Usa un trigger sul pannello di aggiornamento che appare ogni x secondi se il tuo processo extern ha restituito un risultato. E ti consiglierei di creare processi a lungo termine in un servizio Windows.

2

Se si sta elaborando tramite ajax quando il pulsante è clicked- 1. Disabilitare il pulsante quando l'elaborazione inizia 2. Attivare il pulsante dopo l'elaborazione completa

Se i postback pulsante, il modo migliore è quello di disattivare la pulsante quando viene cliccato tramite javascript [Non suggerirò jquery solo per questo particolare compito]. Poiché dopo il postback il pulsante sarà abilitato com'era prima, non devi preoccuparti di abilitare.

<asp:Button ID="btn" runat="server" OnClientClick="disable(this)" 
Text="Click me!" OnClick="btn_Click" /> 

<script type="text/javascript"> 
     function disable(control) 
     { 
      control.disabled="disabled"; 
      //added alert to give the snapshot of what happens 
      //when the button is clicked 
      alert(100); 
     } 
</script> 

Spero che questo aiuti.

+0

e in che modo si riattiverà automaticamente al termine del postback? – stckvrflw

+1

Scrivo il mio codice simile al tuo. Tutto è lo stesso, ma ora OnClick = "btn_Click" non sta sparando. Se rimuovo OnClientClick = "disable (this)", viene attivato OnClick. Cosa ne pensi ? – stckvrflw

+0

Dopo il postback è possibile registrare uno script con clientcript in C# che rimuove la proprietà disabilitata del pulsante. – sangam

Problemi correlati