如何在asp.net中禁用或启用按钮?我想在点击后禁用按钮以防止双击。我点击它后试图禁用我的登录按钮。
答案 0 :(得分:21)
您必须在客户端禁用它,以便用户无法再次单击它。
<asp:button id="btn" runat="server" OnClientClick="this.disabled=true;"......
在服务器端asp.net代码上禁用。
btn.Enabled = false;
答案 1 :(得分:3)
您可以使用客户端onclick事件来执行此操作:
yourButton.Attributes.Add("onclick", "this.disabled=true;");
或强>
您可以使用javascript执行此操作。在您的表单标签中,
onsubmit="javascript:this.getElementById("submitButton").disabled='true';"
或强>
在代码隐藏文件中你可以这样做
button1.enabled = false
答案 2 :(得分:2)
编写一个检查用户名和密码的java脚本函数。
如果它们不是空白,则禁用该按钮
但是如果你禁用按钮并且有一个回发。在回发后仍然会启用它
所以想法是
<asp:button>
,以防止.NET破坏名称。- 修改
<asp:button id="btn" runat="server" ClientIdMode="Static" OnClientClick="return btn_disable" ...
您的java脚本代码
function btn_disable
{
//check for user name and password
// if filled
document.getElementById("btn").disabled=true;
}
答案 3 :(得分:0)
仅限前端:
<button id="loginbtnID" onclick="DisableBtn()">Log in</button>
<script type="text/javascript">
function DisableBtn() {
document.getElementById("loginbtnID").disabled = true;
}
</script>
前端和代码隐藏:
(虽然这会重新加载整个页面...检查 this 以防止重新加载)
禁用button.aspx:
<button id="loginbtnID" runat="server" onclick="DisableBtn()" OnClick="codeBehindFunction">Log in</button>
禁用button.aspx.cs:
protected void codeBehindFunction(object sender, EventArgs e)
{
loginbtnID.Disabled = false;
}