页面初期化时。panel.visible = false;
panel 里面有<div id='treex'></div>在JS里面:
$(document).ready(function() {
    alert($("#treex").size()); // = 0
}
页面显示完后,再看浏览器源代码, 并没有生成panel里面的东西。。哪怕是有一个button点击后让pane.visible = true.浏览器源代码还是没有panel里面的控件代码

解决方案 »

  1.   

    怎样才能取到隐藏的panel里面的控件?如果初期化让panel显示,浏览器代码就一直可以看到panel里面的内容的代码!!!
      

  2.   

    不用想了后端panel.visible = false;
    前端根本就不会输出panel的html,所以前端也不可能用js取到值解决方法:
    后端更改css或style使其隐藏,而不是使用visible阻止输出
      

  3.   

    VS2005里如果设置了服务器控件的VISIBLE属性为FALS则在解析页面时,不RANDER此控件,所以在前台是找不到,你可以用CSS来隐藏此控件,再用JS来取值!
      

  4.   

    后台写了 htmlControl.visible=false;  前台输出时 查看源码根本就没有htmlcontrol标签了  肯定获取不到啊 
      

  5.   

    我现在是在用javascript把panel隐藏了。但是一开始页面显示时看到了,过了一会儿才消失,能不能让它早点消失?
      

  6.   

    建议使用 display:none 来控制隐藏显示
      

  7.   

    用的就是display : none, 只是页面初期化要执行的比较多。会慢一点
      

  8.   

    正解,比如你要隐藏Panel,你就设置Panel的Style="display:none",而不要使用Panel.Visible=false
      

  9.   

    有没有可能用后台控制了不显示。又能生成HTML
      

  10.   

    沒有,樓上已經說了,后臺設置Visable = false;服務器是不會把這個控件解析成HTML標記送到客戶端的.
    服務器都不送給你,你如何在前端找到呢?
    設置Styple  display=='none'
      

  11.   

    那么在页面上点击button让panel.visible=true.页面又能看到了panel里面的内容,.net是如何让这些HTML发送到客户端的呢?
      

  12.   

    "那么在页面上点击button让panel.visible=true.页面又能看到了panel里面的内容,.net是如何让这些HTML发送到客户端的呢?"
    <== 點擊Button,會引發事件提交到服務器,服務器后臺代碼設置panel.visible=true後會解析該控件為HTML然后傳回給客戶端,刷新客戶端頁面,并把解析的HTML更新到頁面上.
      

  13.   

    panel 就是DIV 放个DIV 改用 hidden
      

  14.   

    http://topic.csdn.net/u/20090810/21/e62f5b98-9af3-4894-a28f-8a72c3134a5b.html?29554
      

  15.   

    visible=false的话就干脆不会生成对应的html标签的. 看网页源代码就能看出来.