在CSDN的论坛上,经常有一些朋友询问有关按钮重复点击的问题.我也做过多次回答,但是为了解决更多朋友的问题,在这里,我把实现方法再次讲解一下,由于本人能力有限,有什么不对的地方,还请各位朋友指教.
首先在<%@ Page %>中添加EnableEventValidation="false".
btnOK是提交按钮的ID,在Page_Load事件中添加回调方法.btnOK_Click就是提交后要实现的服务端代码.整体的实现过程还是比较简单的.
//
使按钮不可用并回调服务端事件
protected void Page_Load( object sender, EventArgs e)
{
this .btnOK.Attributes.Add( " onclick " , ClientScript.GetPostBackEventReference(btnOK, " Click " ) + " ;this.disabled=true; this.value='提交中...'; " );
}
// 按钮处理方法(51aspx.com)
protected void btnOK_Click( object sender, EventArgs e)
{
System.Threading.Thread.Sleep( 2000 );
ClientScript.RegisterStartupScript(GetType(), " btnCommit " , " alert('提交成功!!!'); " , true );
}
protected void Page_Load( object sender, EventArgs e)
{
this .btnOK.Attributes.Add( " onclick " , ClientScript.GetPostBackEventReference(btnOK, " Click " ) + " ;this.disabled=true; this.value='提交中...'; " );
}
// 按钮处理方法(51aspx.com)
protected void btnOK_Click( object sender, EventArgs e)
{
System.Threading.Thread.Sleep( 2000 );
ClientScript.RegisterStartupScript(GetType(), " btnCommit " , " alert('提交成功!!!'); " , true );
}