【问题标题】:$find returns null after ajaxRequest()$find 在 ajaxRequest() 之后返回 null
【发布时间】:2014-03-13 16:18:35
【问题描述】:

我在更新面板外有一个按钮,点击后会调用以下 javascript 函数来触发我的更新面板“pnlDocs”:

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

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

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

但是调用“updateRightPane”$find 之后会返回 null。 但是, $get 将返回该元素。我难住了。任何帮助将不胜感激。

我一定错过了部分页面刷新和 $find 是如何协同工作的。

注意:如果我的 javascript 在我的更新面板之内或之外,就会发生错误。

这是我在 Google Chrome 中使用 $get、$find、$jQuery 进行控制台测试的屏幕截图

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

【问题讨论】:

    标签: javascript asp.net ajax find updatepanel


    【解决方案1】:

    我想通了。

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

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

    Sys.Application.add_load(findTheControl); 
    

    世界一切都恢复正常了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多