TreeView控件 在IE7 IE8 上浏览时子节点不可展开,
页面打开时一级节点都可显示,但点击其中任何一个却不能展开,并且出现JS错误: 'MenuTree_Data' 未定义;
我用的是VS2008开发的,在IE6和Firefox中都没有问题
望高手指教

解决方案 »

  1.   

    把 .Aspx 或 .Ascx页面中下面的一句话去掉即可,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      

  2.   

    这句话去掉了还是报错,并且页面上的样式都没有了
    我刚再调试了一下
    <script type="text/javascript"> 
    //<![CDATA[
     
    alert("ss");
    WebForm_InitCallback();
    alert("bb");
    var MenuTree_Data = new Object();
    MenuTree_Data.images = MenuTree_ImageArray;
    MenuTree_Data.collapseToolTip = "折叠 {0}";
    MenuTree_Data.expandToolTip = "展开 {0}";
    MenuTree_Data.expandState = theForm.elements['MenuTree_ExpandState'];
    MenuTree_Data.selectedNodeID = theForm.elements['MenuTree_SelectedNode'];
    for (var i=0;i<6;i++) {
    var preLoad = new Image();
    if (MenuTree_ImageArray[i].length > 0)
    preLoad.src = MenuTree_ImageArray[i];
    }
    MenuTree_Data.lastIndex = 47;
    MenuTree_Data.populateLog = theForm.elements['MenuTree_PopulateLog'];
    MenuTree_Data.treeViewID = 'MenuTree';
    MenuTree_Data.name = 'MenuTree_Data';
    //]]>
    </script>
    这段代码中WebForm_InitCallback();出错
    这样就导致MenuTree_Data未定义但我在网上搜索了一下,WebForm_InitCallback();出错说是因为系统日期的问题,我发布到IIS上,用几台电脑测试,还是会出现问题,但在IE6和Firefox中都没有问题
      

  3.   

    啊,我终于把它搞定了
    我都不好意思说了,就因为在页面上写了一段控制样式的JS,把它去掉就行了
    但我也确实没搞明白这段JS为什么会跟系统的JS有冲突
      

  4.   

    再补充一下,主要原因是那段JS是设置生成的代码中的部分a标签的链接target属性值的
    我把它在后台通过设置node.Target = "content";就行了,页面中不要对控件生成的html代码做一些操作
      

  5.   

    不过lz说的“页面中不要对控件生成的html代码做一些操作”这是有些偏颇的。测试才是你唯一的安全网。你应该对每一个小技巧都写一个测试,每天只要按一个按钮就能以随即次序、随机数据来连续运行上万次,这样你就对系统环境有了信心。这样,你用测试所证明可以做的事,就可以放心大胆地去运用,越大胆越好。