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.
Asked
Active
Viewed 9.1k times
23
-
I am not able to disable button. when user enter username and password and click on login button at that time button is not disable and also want to enable it when user failed to login. – Amol Nov 24 '12 at 05:36
-
1take a look to [this](http://jsfiddle.net/BrOSs/Mzhg2/) jsfiddle – BrOSs Nov 24 '12 at 05:43
-
It will post the values to the server and then you want to disable this button. Right? – शेखर Nov 24 '12 at 06:16
-
@krshekhar Yes, it requires – Amol Nov 24 '12 at 06:24
4 Answers
24
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;

Adil
- 146,340
- 25
- 209
- 204
-
if user click with out entering username and password it goes to disable. – Amol Nov 24 '12 at 06:04
-
1@adil even if he writes the user name and password and then click and if you disable the button it will not post the values to the server. – शेखर Nov 24 '12 at 06:18
-
1Could it be possible to put a new question for that as that is entirely different from OP – Adil Nov 24 '12 at 06:20
-
2@Șhȇkhaṝ I noticed the same (the button would disable, but the code behind would not fire) -- I added UseSubmitBehavior=False and it is working as desired. – bdimag Jun 30 '14 at 18:03
-
-
4
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

andy
- 5,979
- 2
- 27
- 49
-
if user click with out entering username and password it goes to disable. – Amol Nov 24 '12 at 06:03
-
1
2
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
- Create a java-script function.
- validate user-name and password
- if they are valid
- disable the button (javascript).
- 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;
}

nu everest
- 9,589
- 12
- 71
- 90

शेखर
- 17,412
- 13
- 61
- 117
0
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;
}

Mimina
- 2,603
- 2
- 29
- 21