如何获取ASP.NET AJAX中响应所指向的UpdatePanel的ID?

时间:2010-11-09 14:53:35

标签: asp.net-ajax updatepanel

由于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 个答案:

答案 0 :(得分:1)

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

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();
   }
}

<强>参考文献: