$ find在ajaxRequest()之后返回null

时间:2014-03-13 16:18:36

标签: javascript asp.net ajax find updatepanel

我在更新面板外面有一个按钮,点击后,调用以下javascript函数来激活我的更新面板" pnlDocs":

// javascript
function updateRightPane()
{
     $find('<%= pnlDocs.ClientID %>').ajaxRequest();
}

我在一个名为&#34; rtbFolderDocs&#34;的更新面板中有一个控件。 之前 ajax回调$ find将返回我的对象​​:

// javascript
var bar = $find("<%= rtbFolderDocs.ClientID %>"); // bar will have an object

但是之后调用&#34; updateRightPane&#34; $ find将返回null。 但是,$ get将返回元素。我很难过。任何帮助将不胜感激。

我必须遗漏一些关于部分页面刷新和$ find一起工作的事情。

注意:如果我的javascript位于更新面板内部或外部,则会出现错误。

以下是我在Google Chrome中使用$ get,$ find,$ jQuery进行控制台测试的屏幕截图 enter image description here

更新 看来$ find方法为我页面上的所有对象返回null,而不仅仅是更新面板中的那些对象。

1 个答案:

答案 0 :(得分:0)

我明白了。

ajax响应导致$ find代码在 Sys.Application完成加载所有组件之前运行

在Sys.Application完成处理后,我强制运行$ find代码: 即

Sys.Application.add_load(findTheControl); 

一切都是对世界的正确。