23

如何在 asp.net 中禁用或启用按钮?我想在单击后禁用按钮以防止双击。单击它后,我试图禁用我的登录按钮。

4

4 回答 4

24

您必须在客户端禁用它,以便用户无法再次单击它。

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

在服务器端 asp.net 代码上禁用。

btn.Enabled = false;
于 2012-11-24T05:31:53.410 回答
4

您可以使用客户端 onclick 事件来执行此操作:

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

或者

你可以用javascript来做到这一点。在您的表单标签中,

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

或者

在文件后面的代码中,您可以这样做

button1.enabled = false 
于 2012-11-24T05:37:35.803 回答
2

编写一个检查用户名和密码的 java 脚本函数。
如果它们不是空白,则禁用该按钮。
但是,如果您禁用该按钮并且有回发。在回发之后它仍然会被启用。
所以想法是

  1. 创建一个java脚本函数。
  2. 验证用户名和密码
  3. 如果它们有效
  4. 禁用按钮(javascript)。
  5. 添加 ClientIdMode="Static"<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;

}
于 2012-11-24T06:22:18.383 回答
0

仅前端:

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

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

前端和代码背后:

(虽然这会重新加载整个页面..检查这个以防止重新加载)

禁用按钮.aspx:

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

禁用按钮.aspx.cs:

protected void codeBehindFunction(object sender, EventArgs e)
{
  loginbtnID.Disabled = false;
}
于 2021-01-06T14:22:59.983 回答