急求!
Jquery 在UpdatePanel 失效报无对像的问题。下面详细说明。我在执行UpdatePanel中的Button(Web控件)的事件后 Jquery的语法开始报错误。

解决方案 »

  1.   

    那就是,没有找到楼主调用的标签,比如,你$("#xx").val();如果没有这个id的标签就会报错
      

  2.   

    code 的篇幅有点大,我说一下主要的流程吧。整个页始用了超过三层的Iframe的嵌套。
    第二层中有logo,logo下方有一个图片按钮,图片按钮是控是logo的叠起和显示的。
    第三层Ifram中才是应用的页面。此页面中有Button 和 GridView ,Button 控制GridView 的,这两个控件都在相应的updatePanel中。
    另外还有一个公共用的js文件,设置表格高度的js方法在此文件中。设置gridView高的脚本如下:
    function setGridWidth()
    {           var buttonlist=60;
        var divGrid=document.getElementById("divGrid");
        
        var sHeader=0;
       var hdTopState=document.getElementById('hdTopState');
       var doc;
       if(hdTopState)
       {
            if(hdTopState.value=='top')
                doc=document.frames["iframeBody"].frames[1].document;
            else
                doc=document;
        }
        else
        {
             doc=document;
        }
        sHeader=$(doc).find('.sHeader').height();
        var gvSummaryByYear_box=(divGrid.style.pixelHeight-5-buttonlist)+'px';
        var sData=(divGrid.style.pixelHeight-5-sHeader-buttonlist)+'px';
        $(doc).find('#gvSummaryByYear_box').css('height',gvSummaryByYear_box);
        $(doc).find('.sData').css('height',sData);
    }当页面先查出数据后再点第二层的logo叠起后想要让表格高度也一起变化此时,Jquery的语法开始报错。
    我每个页面中都引jquery文件了。
      

  3.   

    code 的篇幅有点大,我说一下主要的流程吧。整个页始用了超过三层的Iframe的嵌套。
    第二层中有logo,logo下方有一个图片按钮,图片按钮是控是logo的叠起和显示的。
    第三层Ifram中才是应用的页面。此页面中有Button 和 GridView ,Button 控制GridView 的,这两个控件都在相应的updatePanel中。
    另外还有一个公共用的js文件,设置表格高度的js方法在此文件中。设置gridView高的脚本如下:
    function setGridHeight()
    {     var buttonlist=60;
      var divGrid=document.getElementById("divGrid");
        
      var sHeader=0;
      var hdTopState=document.getElementById('hdTopState');
      var doc;
      if(hdTopState)
      {
      if(hdTopState.value=='top')
      doc=document.frames["iframeBody"].frames[1].document;
      else
      doc=document;
      }
      else
      {
      doc=document;
      }
      sHeader=$(doc).find('.sHeader').height();
      var gvSummaryByYear_box=(divGrid.style.pixelHeight-5-buttonlist)+'px';
      var sData=(divGrid.style.pixelHeight-5-sHeader-buttonlist)+'px';
      $(doc).find('#gvSummaryByYear_box').css('height',gvSummaryByYear_box);
      $(doc).find('.sData').css('height',sData);
    }当页面先查出数据后再点第二层的logo叠起后想要让表格高度也一起变化此时,Jquery的语法开始报错。
    我每个页面中都引jquery文件了。
      

  4.   

    我是这么用的。
     $(document).find('.sData')
    我看了一下document中有.sData这个样式。平时在此页面是好使的,但一是用updatepanel执行js后就会报错。
      

  5.   

    不需要每个页面都要js文件,有时候js也会冲突的,去掉一些试试
      

  6.   

    哦我在外加一点
    我GridView刷新后会执行
    ScriptManager.RegisterStartupScript(updatePanel, this.GetType(), key, js, true);
      

  7.   

    这个我试过了。单独做的实验,在Iframe中当前页面没有引父页面引jquery 当前不引时会报错找不到对象。
    我这个工程不是MVC的。
      

  8.   

    新的问题出现了!
    现在上面的问题已经解决。
    但是我有点不明白$('')和jQuery()这两个的用法。本人刚刚接触jquery.