如何在第一次点击后禁用按钮

新手上路,请多包涵

我有一个按钮的以下 onclick 事件。一旦这个事件被 ftonired 我想禁用按钮。谁能帮助我了解该怎么做?

这是我在 buttonclick 事件上执行的代码。

 protected void Button3_Click(object sender, EventArgs e)
{

    if (Session["login"] != null && Session["db"] != null)
    {

        digit b = new digit();
        String digitformed = b.formdigit(this.DropDownList1, this.TextBox1, this.TextBox2);

        chekcount c = new chekcount();
        int count = c.getmaxcountforjud_no(digitformed);
        int addtocount = count + 1;

        String name = Session["login"].ToString();
        String databs = Session["db"].ToString();
        String complex_name = name + databs;

        if (DropDownList2.SelectedItem.Text != "New")
        {
            update u = new update();
            u.update1(this.Editor1, digitformed, this.TextBox3, complex_name, name, this.DropDownList2);
            Response.Write(@"<script language='javascript'>alert('Updated')</script>");

        }
        else
        {
            save d = new save();
            d.dosave(this.Editor1, addtocount, digitformed, this.TextBox3, complex_name, name);
            Response.Write(@"<script language='javascript'>alert('Saved')</script>");

        }
    }
    else
    {
        Response.Redirect("log.aspx");
    }
}

这是我要禁用的按钮。

 <asp:Button ID="Button3" runat="server" Text="Save" onclick="Button3_Click"
                    Visible="False" />

原文由 Ishan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 286
2 个回答

你有没有尝试过?:

 protected void Button3_Click(object sender, EventArgs e)
{
   Button3.Enabled = false;
   //rest of code
}

原文由 Renatas M. 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用按钮控件的 OnClientClick 和 UseSubmitBehavior 属性。

 <asp:Button runat="server" ID="BtnSubmit"
  OnClientClick="this.disabled = true; this.value = 'Submit in progress...';"
  UseSubmitBehavior="false"
  OnClick="BtnSubmit_Click"
  Text="Click to Submit" />

OnClientClick 允许您添加客户端 OnClick 脚本。在这种情况下,JavaScript 将禁用按钮元素并将其文本值更改为进度消息。回发完成后,新呈现的页面会将按钮恢复为初始状态,无需任何额外工作。

在客户端禁用提交按钮的一个缺陷是它会取消浏览器的提交,从而取消回发。将 UseSubmitBehavior 属性设置为 false 会告诉 .NET 无论如何都要注入必要的客户端脚本来触发回发,而不是依赖于浏览器的表单提交行为。在这种情况下,它注入的代码将是:

 __doPostBack('BtnSubmit','')

重定向 HTML:

 <input type="button" name="BtnSubmit"
  onclick="this.disabled = true; this.value = 'Submitting...';__doPostBack('BtnSubmit','')"
  value="Submit Me!" id="BtnSubmit" />

这应该会给你想要的行为。

来自: http ://encosia.com/disable-a-button-control-during-postback/ 图片来源:Dave Ward(推特:@Encosia)

原文由 Prafulla 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题