How To Disable a button control during postback.

The trick is to use the OnClientClick and UseSubmitBehavior properties of the button control. There are other methods, involving code on the server side to add attributes, but I think the simplicity of doing it this way is much more attractive:
<asp:Button runat="server" ID="BtnSubmit"
 OnClientClick="this.disabled = true; this.value = 'Submitting...';"
 UseSubmitBehavior="false"
 OnClick="BtnSubmit_Click"
 Text="Submit Me!" />

OnClientClick allows you to add client side OnClick script. In this case, the JavaScript will disable the button element and change its text value to a progress message. When the postback completes, the newly rendered page will revert the button back its initial state without any additional work.

The one pitfall that comes with disabling a submit button on the client side is that it will cancel the browser’s submit, and thus the postback. Setting the UseSubmitBehavior property to false tells .NET to inject the necessary client script to fire the postback anyway, instead of relying on the browser’s form submission behavior. In this case, the code it injects would be:

__doPostBack('BtnSubmit','')

This is added to the end of our OnClientClick code, giving us this rendered HTML:

< input type="button" name="BtnSubmit"
 onclick="this.disabled = true; this.value = 'Submitting...';__doPostBack('BtnSubmit','')"
 value="Submit Me!" id="BtnSubmit" />
Reactions

Post a Comment

4 Comments

  1. Legend. Thanks a lot .. Works great and very simple to implement

    ReplyDelete
  2. Thanks a lot...you are the BOSS :) ...so nice and simple implementation. Thanks again :)

    ReplyDelete
  3. Hello Yes this is working but it's not working in validation if i am going to validate let's for ex: need to validation user name & password with require field validation than the is validating but button is still unavailable for click again. It;s still showing Submitting..... Please guide in this

    ReplyDelete

Please do not post any spam link in the comment box😊

Emoji
(y)
:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
x-)
(k)

Close Menu