用了这里以前贴出的一段代码,按照要求输入,当程序执行后会动态生成如下的代码:<script language='JavaScript'> 
function InitTree() { 
 TreeView1.onSelectedIndexChange=function(){ 
if(event.oldTreeNodeIndex!=event.newTreeNodeIndex) 
this.queueEvent('onselectedindexchange',event.oldTreeNodeIndex+','+event.newTreeNodeIndex); 
window.setTimeout("__doPostBack('TreeView1','')", 0, 'JavaScript'); 


</script>我也按要求在Body加入 onload="InitTree()",并且测试过这段代码是执行的,但好象并没有起什么作用。我理解这段代码的作用是当展开或收缩TreeView的时候不刷屏。现在我的TreeView依旧可以刷得让人把上顿饭吐出来!请求帮助!THANKS

解决方案 »

  1.   

    把你的那个script删掉。在页面设计器上,按 F4,找到 Document 对象,然后找到 MartNavigation 属性,设置其值为 True。
      

  2.   

    我已经非常习惯,每当新建一个aspx,首先确定其布局为流模式,并且是启用超级导航功能。
      

  3.   

    所谓不刷屏,前提是 autopostback=false。然后,你的那段代码才可能起作用。不过此时,不需要那么麻烦。只要将TreeNode的 NavigateUrl 由简单的 url 字符串改为 page.getPostBackEventRefrence 函数的输出就行了(它会自己产生每一个__doPostback 代码)。
      

  4.   

    交个朋友如何:MSN:[email protected]
      

  5.   

    worry,刚回答另一个帖子才发现上面我写错了,不是 page.getPostBackEventRefrence ,是 GetPostBackClientHyperlink。把纯客户端的超级链接改造成 postBack 的事件,使用 GetPostBackClientHyperlink。
      

  6.   

    楼主,我找到了
    是用SmartNavigation属性,
    在大多数情况下不要在代码中设置该属性。在 .aspx 文件的 @ Page 指令中将 SmartNavigation 属性设置为 true。请求该页时,动态生成的类将设置该属性。Internet Explorer 5.5 或更高版本浏览器请求页时(或稍后),智能导航将通过执行下列功能提高用户对该页的操作能力: 消除导航导致的闪烁。 
    从一页移动到另一页时保持滚动位置。 
    保持导航之间的元素焦点。 
    在浏览器的历史记录中只保留最后一页的状态。 
    智能导航最适用于需要频繁回发但是其可是内容在返回时不会发生显著更改的 ASP.NET 页。在决定是否将该属性设置为 true 时,请仔细考虑这一点。