我如何禁用Button asp.net

时间:2012-11-24 05:28:59

标签: asp.net

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

4 个答案:

答案 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脚本函数。
如果它们不是空白,则禁用该按钮 但是如果你禁用按钮并且有一个回发。在回发后仍然会启用它 所以想法是

  1. 创建一个java脚本函数。
  2. 验证用户名和密码
  3. 如果有效
  4. 禁用按钮(javascript)。
  5. 将ClientIdMode =“Static”添加到<asp:button>,以防止.NET破坏名称。
  6. - 修改

    <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;
}