Amol
Amol

Reputation: 1461

how do I disable Button asp.net

How can I disable or enable button in asp.net? I want to disable button after click to prevent double click. I am trying to disable my Login button after clicking on it.

Upvotes: 24

Views: 97129

Answers (4)

YMH
YMH

Reputation: 3093

Front-end only:

<button id="loginbtnID" onclick="DisableBtn()">Log in</button>

<script type="text/javascript">
  function DisableBtn() {
    document.getElementById("loginbtnID").disabled = true;
  }
</script>

Front-end & Code Behind:

(this reloads the whole page though.. check this to prevent reloading)

disablebutton.aspx:

<button id="loginbtnID" runat="server" onclick="DisableBtn()" OnClick="codeBehindFunction">Log in</button>

disablebutton.aspx.cs:

protected void codeBehindFunction(object sender, EventArgs e)
{
  loginbtnID.Disabled = false;
}

Upvotes: 0

शेखर
शेखर

Reputation: 17614

write a java-script function which checks the user name and password.
If they are not blank the disable the button.
But if you disable the button and there is a postback. And after the postback still it will be enable.
So Idea is

  1. Create a java-script function.
  2. validate user-name and password
  3. if they are valid
  4. disable the button (javascript).
  5. Add ClientIdMode="Static" to your <asp:button> to prevent .NET from mangling the name.

--edit

<asp:button id="btn" runat="server" ClientIdMode="Static" OnClientClick="return btn_disable" ...

Your java-script code

function btn_disable
{
   //check for user name and password
   // if filled
   document.getElementById("btn").disabled=true;

}

Upvotes: 2

andy
andy

Reputation: 6079

You can use the client-side onclick event to do that:

yourButton.Attributes.Add("onclick", "this.disabled=true;");

or

You can do this with javascript. in your form tag,

onsubmit="javascript:this.getElementById("submitButton").disabled='true';"

or

In code behind file you can do like this

button1.enabled = false 

Upvotes: 4

Adil
Adil

Reputation: 148110

You have to disable it on client so that user could not click it again.

<asp:button id="btn" runat="server" OnClientClick="this.disabled=true;"......

To disable on server side asp.net code.

btn.Enabled = false;

Upvotes: 26

Related Questions