您的位置:无忧脚本
» 罗里罗嗦夫斯基
» 日志
在ASP.NET AJAX中防止用户多次提交页面(转)
上一篇 /
下一篇 2008-02-28 16:50:33
| 作者:阳光男孩 来源:深圳软件 阅读次数: 31 发表日期: 2007-12-5 12:42:24 |
无忧脚本'N4\1o)N${1Sa?(K_%j 在Web开发程序中,往往由于种种原因,客户会多次操作页面导致数据冗余或不一致, 在ASP.NET AJAX出现之前可以通过对__dopostback()的调用等方法也可以防止页面多次提交。 6q0dt1M_Sl(~0在ASP.NET AJAX中的页面客户端中有一个叫onInitializeRequest的事件,它在页面初始化之前触发,可以对页面的提交事件进行控制,并且可以调用该事件参数的中的一个set_cancel方法可以取消页面的提交,从而很简单的实现阻止页面的多次提交。无忧脚本
N#MI+Hg+Gj%u`
W 具体代码如下:无忧脚本E r4}4f(P 1 var btnSubmit = "<%=btnSubmit.ClientID %>"; &{xvb,Ky y1Z02 var prm = Sys.WebForms.PageRequestManager.getInstance(); *z?8SS8X4M03 prm.add_initializeRequest(onInitializeRequest); n8z/L*K5?d04 t*i`y'O'F5ea05无忧脚本+QW Rh-J)u+{ 6 function onInitializeRequest(sender,args)无忧脚本BUv
mT 7 { [B)yn9N8ny08 if(prm.get_isInAsyncPostBack()&&args.get_postBackElement().id == btnSubmit) 2@fN&qa09 {无忧脚本6Bu%eOp 10 args.set_cancel(true);无忧脚本,A*@N?aR9fQ 11 //给用户提示正在处理中 }(lF0U}$b012 } ls(eyQfI013 $get(btnSubmit).disabled = true;无忧脚本3N.i sim F 14 }将以上代码放在页面中就可以实现阻止多次提交的功能,其中btnSubmit为提交页面的按钮 |
导入论坛
收藏
分享给好友
推荐到圈子
管理
举报
TAG: