【问题标题】:RadAjaxManager won't update radgridRadAjaxManager 不会更新 radgrid
【发布时间】:2012-09-24 10:21:13
【问题描述】:

我有一个 radgrid,它应该在复选框列表更改时更新(在由 AutoPostBack 触发的选定事件上实现)但是当我选中列表中的复选框时,RadAjaxLoading 图片将正常工作以显示加载图像的位置然而,RadGrid 永远不会消失并重新显示网格。根据我的网络浏览器中的控制台错误,我不断收到以下错误:

Uncaught TypeError: Object [object Object] has no method '_destroyTree'

如果有帮助的话,我就是这样设置我的经理的:

<telerik:RadAjaxManager ID="RadAjaxManagerNotesView" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGridNotes">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGridNotes" LoadingPanelID="RadAjaxLoadingPanel" />
            </UpdatedControls>
        </telerik:AjaxSetting>
        <telerik:AjaxSetting AjaxControlID="CheckBoxListCategories">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGridNotes" 
                    LoadingPanelID="RadAjaxLoadingPanel" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>

谁能帮我解决这个错误?从当前开始,RadGrid 将永远不会重新显示

【问题讨论】:

    标签: asp.net telerik


    【解决方案1】:

    发现该错误与 .NET 4.0 不兼容,旧版本的 telerik(2009) 设法通过在单独的 JavaScript 文件中使用以下补丁并将其包含在我的母版页的页脚中来解决该错误。

    http://www.telerik.com/ClientsFiles/203221_default.zip

    【讨论】:

      【解决方案2】:

      这个脚本解决了我的问题:

      function _destroyTree2(element) {
          if (element.nodeType === 1) {
              var childNodes = element.childNodes;
              for (var i = childNodes.length - 1; i >= 0; i--) {
                  var node = childNodes[i];
                  if (node.nodeType === 1) {
                      if (node.dispose && typeof (node.dispose) === "function") {
                          node.dispose();
                      }
                      else if (node.control && typeof (node.control.dispose) === "function") {
                          node.control.dispose();
                      }
                      var behaviors = Sys.UI.Behavior.getBehaviors(node);
                      for (var j = behaviors.length - 1; j >= 0; j--) {
                          behaviors[j].dispose();
                      }
                      this._destroyTree(node);
                  }
              }
          }
      }
      
      Sys.WebForms.PageRequestManager.getInstance()._destroyTree = _destroyTree2
      

      把它放在页面的末尾。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-11
        • 1970-01-01
        • 2013-07-18
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多