如何在ASP.NET中拦截/获取有关异步请求的通知?

1 asp.net jquery

我需要在ASP.NET中收到有关异步请求的通知.我使用了jQuery .ajaxSend全局事件,但在使用时没有触发UpdatePanels.

是否有多种浏览器方式来检测何时在页面上发出请求?

Mik*_*e B 5

Jquery和ASP.Net Ajax是两个不同的javascript框架,它们各自以不同方式处理Ajax请求.因此,Jquery中使用的代码将不会连接到ASP Ajax中.

我处理这类事情的一种方法是挂钩到页面请求管理器(ScriptManager)并向InitializeRequest和EndRequest事件添加方法.

沿着这些行的一些JavaScript应该解决你的问题.

<script type="text/javascript">

    // Get the instance of PageRequestManager.
    var PageRequestManager = Sys.WebForms.PageRequestManager.getInstance();

    // Add to the events
    PageRequestManager.add_initializeRequest(PageRequestManager_InitializeRequest);
    PageRequestManager.add_endRequest(PageRequestManager_EndRequest);

    // Called when async postback is initialized
    function PageRequestManager_InitializeRequest(sender, args)
    {
    }

    // Called when async postback calls back
    function PageRequestManager_EndRequest(sender, args)
    {
    }
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:看看Asp.Net Ajax的生命周期,如果initializeRequest太早,你也可以使用beginRequest事件.