方法一:
代码
方法2:
protected
void
Page_Load(
object
sender, EventArgs e)
{
btn.Attributes.Add( " onclick " , " state=true; " );
StringBuilder sb = new StringBuilder();
sb.Append( " if (!state) return; " );
sb.Append( " var button=document.getElementById('btn'); " );
sb.Append( " button.value='Please Wait...'; " );
sb.Append( " document.body.style.cursor='wait'; " );
sb.Append( " button.disabled=true; " );
string strScript = " <script> " ;
strScript = strScript + " var state=false; " ;
// 将函数绑定到页面的onbeforeunload事件:
strScript = strScript + " window.attachEvent('onbeforeunload',function(){ " + sb.ToString() + " }); " ;
strScript = strScript + " </ " + " script> " ;
Page.RegisterStartupScript( " onbeforeunload " , strScript);
}
protected void Submit_Click( object sender, EventArgs e)
{
// 模拟长时间的按钮处理
System.Threading.Thread.Sleep( 2000 );
Response.Write( " <script>alert('bbbbbb!!'); " + " </ " + " script> " );
}
< asp:Button ID = " btn " Text = " Submit " OnClick = " Submit_Click "
runat = " server " />
{
btn.Attributes.Add( " onclick " , " state=true; " );
StringBuilder sb = new StringBuilder();
sb.Append( " if (!state) return; " );
sb.Append( " var button=document.getElementById('btn'); " );
sb.Append( " button.value='Please Wait...'; " );
sb.Append( " document.body.style.cursor='wait'; " );
sb.Append( " button.disabled=true; " );
string strScript = " <script> " ;
strScript = strScript + " var state=false; " ;
// 将函数绑定到页面的onbeforeunload事件:
strScript = strScript + " window.attachEvent('onbeforeunload',function(){ " + sb.ToString() + " }); " ;
strScript = strScript + " </ " + " script> " ;
Page.RegisterStartupScript( " onbeforeunload " , strScript);
}
protected void Submit_Click( object sender, EventArgs e)
{
// 模拟长时间的按钮处理
System.Threading.Thread.Sleep( 2000 );
Response.Write( " <script>alert('bbbbbb!!'); " + " </ " + " script> " );
}
< asp:Button ID = " btn " Text = " Submit " OnClick = " Submit_Click "
runat = " server " />
<
asp:button id
=
"
btnSubmit
"
OnClick
=
"
Submit_Click
"
runat
=
"
server
"
OnClientClick
=
"
this.disabled=true;this.form.submit();
"
UseSubmitBehavior
=
"
False
"
/>
方法3:
this
.btnSubmit.Attributes[
"
onclick
"
]
=
this
.GetPostBackEventReference(
this
.btnSubmit)
+
"
;this.disabled=true;
"
;
//
防止重复提交