避免多次点击图像按钮

本文关键字:图像 按钮 | 更新日期: 2023-09-27 18:04:29

我有一个gridview在gridview的模板字段的图像按钮。现在,在单击图像按钮时,将一个新行插入到datatable中并绑定到gridview。

但是如果我再次点击图像按钮,第二行被插入(与第一行相同),它再次被绑定到gridview。如何避免这种情况?

谢谢!

避免多次点击图像按钮

在CodeBehind中避免这种情况是错误的,因为这样按钮将在回发后被禁用,给你足够的时间再次点击它。实现这一点的唯一方法是使用javascript。

你可以这样做:

var button = document.getElementById('yourButton');
button.disabled = true;

您可以通过使按钮禁用或使其启用false来避免这种情况,一旦它被点击,或者您可以将javascript与按钮连接,然后返回flase。在这种情况下,它不会执行任何活动。

void grdRules_RowCommand(Object sender, GridViewCommandEventArgs e)
{
    if(e.CommandName=="imagebutton")
    {
      //insert row
      int id = int.Parse(e.CommandArgument.ToString());
      ImageButton imgButton = 
             (ImageButton)grdRules.Rows[id].FindControl("imgButton");      
     imgButton.Visible =false;
    }
}

如果您正在使用验证器,在插入新行之后,重新初始化用于插入的控件(例如:tbProductName。Text = String.Empty;ddlTitle。selecteindex = 0;等等)。通过这种方式,验证器将防止再次提交相同的数据。

如果插入在服务器端需要更长的时间,并且用户需要等待,则使用JavaScript禁用该按钮。服务器完成操作后,它将发送一个新的响应,您不需要再次启用它(假设服务器端未禁用该按钮)。