加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – ‘Sys.WebForms.PageRequestManager’为null或不是对

发布时间:2020-12-16 06:29:49 所属栏目:asp.Net 来源:网络整理
导读:嗨,我有一个aspx页面,其中我有以下代码 asp:ScriptManager ID="scriptManager" runat="server" AsyncPostBackTimeout="500" EnablePageMethods="true" /asp:ScriptManager script type="text/javascript" Sys.Application.add_init(BeginRequestHandler); Sy
嗨,我有一个aspx页面,其中我有以下代码

<asp:ScriptManager ID="scriptManager" runat="server" AsyncPostBackTimeout="500" EnablePageMethods="true">
            </asp:ScriptManager>

            <script type="text/javascript">
          Sys.Application.add_init(BeginRequestHandler);
          Sys.Application.add_init(EndRequestHandler);

          Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
          Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
          function BeginRequestHandler(sender,args) {
              AsynProcessing('block','AlertDiv','ProcessingImage');
          }
          function EndRequestHandler(sender,args) {
              AsynProcessing('none','');
          }
          function AsynProcessing(visstring,elem,img) {
              var adiv = $get(elem);
              adiv.style.display = visstring;
              adiv.image = img;
          }

但是该页面抛出了一个javascrip错误,因为’Sys.WebForms.PageRequestManager’为null或不是对象.我在scriptmanager标签下面放了.我甚至还说道

<xhtmlConformance  mode="Transitional"/>

在web.config.But部分仍然得到相同的错误.
任何帮助深表感谢.提前致谢

解决方法

在调用Sys.WebForms.PageRequestManager之前,使用此代码包装处理程序,以便等待所有nessesary脚本被加载

Sys.Application.add_init(function(){ ... your code ....}

http://msdn.microsoft.com/en-us/library/bb397532.aspx

编辑:此行错误的原因Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandl er)是尚未加载的脚本,所以如果你想要处理异步回发,你必须写一些像这个:

Sys.Application.add_init(function(){ 
    Sys.WebForms
       .PageRequestManager
       .getInstance()
       .add_beginRequest(BeginRequestHandler)
});

简单的英语是什么意思?等到所有脚本都已加载(包括Sys.WebForms命名空间)并订阅事件beginRequest
你的脚本块应该是这样的:

<script type="text/javascript">
    Sys.Application.add_init(function () {
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
    });
    Sys.Application.add_init(function () {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    });

    function BeginRequestHandler(sender,args) {
        AsynProcessing('block','ProcessingImage');
    }
    function EndRequestHandler(sender,args) {
        AsynProcessing('none','');
    }
    function AsynProcessing(visstring,img) {
         var adiv = $get(elem);
         adiv.style.display = visstring;
        adiv.image = img;
    }  
</script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读