1

我有一个简单的 JS 函数,当 AJAX 调用成功时需要调用它,但是我无法控制 AJAX 调用,因为框架(DNN5)处理了所有这些。

如何在 AJAX 成功时调用我的函数?

我使用的是 DNN5 和 jQuery,如果你不熟悉 DNN,就假设页面上的所有控件都包裹在 asp:UpdatePanel 中。

谢谢你。

4

2 回答 2

1

我不熟悉 DNN5,但我熟悉 UpdatePanels。您能否在 ASP.NET AJAX 中挂钩异步回发的客户端事件,即向 PageRequestManager endRequest 事件添加事件处理程序。

举个例子,

  var prm = Sys.WebForms.PageRequestManager.getInstance();

  prm.add_endRequest(EndRequest);

  // runs when async postback completes.
  function EndRequest(sender, args)
  {
  if (sender._postBackSettings.sourceElement.id) // the id of the element that raised the postback that is completing
      {
        //Do what you need to do here
      }  
  }

编辑:

考虑一下,我不确定这是否适合您。这将取决于 DNN5 如何在 ASP.NET 中执行 AJAX 调用

于 2009-02-13T10:55:50.610 回答
0

@Russ:刚刚看到你的答案,我会测试它,如果它有效,我会接受它。

在发布这个问题后不久,我回忆起我在之前的项目中遇到了类似的问题,所以我回去并从那里获取代码:

<script type="text/javascript">

Sys.Net.WebRequestManager.add_completedRequest(onComplete);


function onComplete(sender, args) { //call JS here
}

function pageUnload() {
    Sys.Net.WebRequestManager.remove_completedRequest(onComplete);
}

</script>
于 2009-02-13T11:01:37.087 回答