避免多次点击图像按钮
本文关键字:图像 按钮 | 更新日期: 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禁用该按钮。服务器完成操作后,它将发送一个新的响应,您不需要再次启用它(假设服务器端未禁用该按钮)。