A.NET Ajax-PageRequestManager_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

A.NET Ajax-PageRequestManager

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词: jQuery'body
黑客防线网安网讯:PageRequestManager是ASP.NET Ajax用来管理非同步Client的操作方式,前阵子为了避免网页重覆送出的问题,和同事们讨论之后,决定利用「盖玻璃」的方式,替整个网页加上一层透明的DIV,防止U...

PageRequestManager是ASP.NET Ajax用来管理非同步Client的操作方式前阵子为了避免网页重覆送出的问题和同事们讨论之后,决定利用「盖玻璃」的方式,替整个网页加上一层透明的DIV,防止User重覆按下送出的动作

因为整个网站是采用ASP.NET Ajax开发,所以大部份的资料更新动作都是透过update panel来执行;因此,在回到server前,ajax会先呼叫一次

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest()这个方法,等到update panel执行完成之后,会再呼叫一次

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(),所以可以透过这二个方式来达到效果建立及取消

以下是截自官方网站的范例:

<script language="javascript" type="text/javascript"> Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);  function BeginRequestHandler(sender, args)  {      var elem = args.get_postBackElement();      ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');  }  function EndRequestHandler(sender, args)  {      ActivateAlertDiv('hidden', 'AlertDiv', '');  }  function ActivateAlertDiv(visstring, elem, msg)  {      var adiv = $get(elem);      adiv.style.visibility = visstring;      adiv.innerHTML = msg;   }  </script> 不过为了让user一按下按钮就无法动作,所以效果开始这段我是写在button的onclientclick上面,再利用add_endRequest来取消效果。

1.先在网页上放置一个div

<div id="messageElement" class="busybox" style="font-size: 16px; font-family: Arial, Helvetica, sans-serif;">     <img alt="waiting" src="/App_Themes/images/indicator.gif" />     Please wait a moment...  </div> 2.再来是javascript的动作

先取到整个body的大小,然后把div放到跟body一样大即可!

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);  function EndRequestHandler(sender, args)  {      showBusyContainer(false);  }  function showBusyContainer(show)  {        if(show==true)      {          Sys.UI.DomElement.toggleCssClass(document.body, "HiddenSelect");          var bodyWidth = jQuery("body").outerWidth();          var bodyHeight = Math.max(jQuery("body").outerHeight(), jQuery(window).height());          var boxHeight = jQuery(".busybox").outerHeight();          jQuery(".overlay").show()               .css({ width:bodyWidth, height:bodyHeight});          jQuery(".busybox").show()               .css({ left: (bodyWidth - jQuery(".busybox").width()) / 2, position:"absolute", top:bodyHeight / 2 - boxHeight });      }      else      {          jQuery(".overlay").hide();          jQuery(".busybox").hide();          jQuery("body").removeClass("HiddenSelect");      }  }

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15684-1.html
网站维护教程更新时间:2012-04-05 00:05:32  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer