关于作者

在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
具体代码如下:无忧脚本 Er4}4f(P
1 var btnSubmit = "<%=btnSubmit.ClientID %>";
&{xvb,Kyy1Z02 var prm = Sys.WebForms.PageRequestManager.getInstance();
*z?8S S8X4M03 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 //给用户提示正在处理中
}(l F0U}$b012 }
ls(e yQfI013 $get(btnSubmit).disabled = true;无忧脚本3N.i sim F
14 }将以上代码放在页面中就可以实现阻止多次提交的功能,其中btnSubmit为提交页面的按钮

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)