代码之家  ›  专栏  ›  技术社区  ›  Josh Kodroff

如何在ASP.NET AJAX中获取响应的UpdatePanel的ID?

  •  1
  • Josh Kodroff  · 技术社区  · 15 年前

    当updatepanel中的异步请求导致新元素出现在dom中时,我正在尝试运行一些jquery初始化代码。我似乎在endrequesthandler的参数中找不到我想要的数据。

    有人知道我要找的数据在哪里吗?

                function onEndRequest(sender, e) {
                    // run some jQuery initialization code (e.g. .tabs()) 
                   // here. but only on the affected updatepanel(s)
                }
    
                with (Sys.WebForms.PageRequestManager.getInstance()) {
                    add_endRequest(onEndRequest);
                }
    

    或者,我可以在响应中的HTML上运行初始化代码(如果可能的话)。有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   cweston Given    15 年前

    您可以使用 args.get_panelsUpdating(); 在pageloaded处理程序中获取已刷新内容的更新面板集合。

    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
    
    function pageLoaded(sender, args) {
       var updatedPanels = args.get_panelsUpdated();
       for (i=0; i < updatedPanels.length; i++) {            
           $(updatedPanels[i]).children('.tabContainer').tabs();
       }
    }
    

    参考文献: