ajax 防止用户反复提交的2种解决方案
            网络编程 发布日期:2025/11/4 浏览次数:1
         
        
            正在浏览:ajax 防止用户反复提交的2种解决方案
            可在服务器端加载方法: 
复制代码 代码如下: 
private void OnLoading() 
{ 
System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
sb.Append(" function pageLoad(){var manager = Sys.WebForms.PageRequestManager.getInstance(); "); 
sb.Append(" manager.add_beginRequest(OnBeginRequest); manager.add_endRequest(OnEndRequest)} var lcPostbackElementID;"); 
sb.Append(" function OnBeginRequest(sender, args){ lcPostbackElementID = args.get_postBackElement().id.toLowerCase(); if (lcPostbackElementID === \"btnadwords\"){$get(\"btnAdWords\").disabled = true; $get(\"btnAdWords\").value='正在提交...';}} "); 
sb.Append(" function OnEndRequest(sender, args){if (lcPostbackElementID === \"btnadwords\"){ $get(\"btnAdWords\").disabled = false; $get(\"btnAdWords\").value='确定';}} "); 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "btnAdWords", sb.ToString(), true); 
} 
 
也可直接写在页面脚本里: 
复制代码 代码如下: 
<script> 
function pageLoad() 
{ 
var manager = Sys.WebForms.PageRequestManager.getInstance(); 
manager.add_beginRequest(OnBeginRequest); 
manager.add_endRequest(OnEndRequest) 
} 
var lcPostbackElementID; 
function OnBeginRequest(sender, args) 
{ 
lcPostbackElementID = args.get_postBackElement().id.toLowerCase(); 
if (lcPostbackElementID === 'btnadwords') 
{ 
$get('btnAdWords').disabled = true; 
$get('btnAdWords').value='正在提交...'; 
} 
} 
function OnEndRequest(sender, args) 
{ 
if (lcPostbackElementID === \"btnadwords\") 
{ 
$get('btnAdWords').disabled = false; 
$get('btnAdWords').value='确定'; 
} 
} 
< /script> 
 
更多内容请参考:http://msdn.microsoft.com/zh-cn/magazine/cc163319.aspx