zoukankan      html  css  js  c++  java
  • 捕捉 Asp.net ajax 客户端请求过程

    以下代码可以在使用 MS Asp.net ajax UpdatePanel 的过程中捕捉到触发某次PostBack请求的开始和结束事件和对象。常用于在服务器端处理完毕后通知客户端做善后工作。

    <script type="text/javascript">
        Type.registerNamespace("ScriptLibrary");
       
        var postbackElement;
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
        Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
       
        function beginRequest(sender, args)
        {
            postbackElement = args.get_postBackElement();
        }
        function pageLoaded(sender, args)
        {
            try
            {
                funcResizeFrame();
               
                //a[0];
               
                FocusElement();
            }
            catch(e)
            {
                alert("Error");
            }
           
        }
        function endRequest(sender, args)
        {
            FocusElement();
            if (args.get_error() != undefined && args.get_error().httpStatusCode == '500')
            {
               var errorMessage = args.get_error().message
               args.set_errorHandled(true);
               alert("errorMessage" + errorMessage);
    //           ToggleAlertDiv('visible');
    //           $get(messageElem).innerHTML = '"' + errorMessage + '" ' + errorMessageAdditional;
            }
        }
       
        function FocusElement()
        {
         /*
      txtIDNum
      txtBrance
      btnCreateDummyID
      
      txtBorName
      */
      
            if (typeof(postbackElement) === "undefined")
            {
                return;
            }
            else if(postbackElement.id.toLowerCase().indexOf('txtidnum') > -1)
            {
                document.getElementById('<%= txtBrance.ClientID %>').focus();
            }else if(postbackElement.id.toLowerCase().indexOf('txtbrance') > -1){
       document.getElementById('<%= btnCreateDummyID.ClientID %>').focus();
            }else if(postbackElement.id.toLowerCase().indexOf('btncreatedummyid') > -1){
       document.getElementById('<%= txtBorName.ClientID %>').focus();
            }
        }
       
    </script>

    看来真的要好好了解下 MS asp.net ajax 客户端柜架才行。尤其是如何实现同步和异步操作,及两者的结合使用。
  • 相关阅读:
    Red Hat Enterprise Linux Server 5.5新增功能简介
    DNS Flood Detector让DNS更安全
    iPad之Linux平台实践
    Fedora 10下应用网络模拟器NS心得
    深入了解Linux远程桌面
    Linux下基于LDAP统一用户认证的研究
    Linux架设Jsp环境
    Fedora 13 Alpha测试手记横空出世
    高層タワー [MISSION LEVEL: B]
    機械の総合病院 [MISSION LEVEL: C]
  • 原文地址:https://www.cnblogs.com/Koy/p/1127717.html
Copyright © 2011-2022 走看看