我遇到过,这种问题
你是把treeview的autopostback设置成true吧,还是不要用的好

解决方案 »

  1.   

    如果代码没问题的话,应该如楼上所说
    感觉TreeView还不是很爽,最受不了的是展开结点也要提交
      

  2.   

    在生成TreeView时你就定义各个TreeNode的NavigateUrl属性
      

  3.   

    可以将autopostback设置成false;
    在body里添加 <body onload="initTree()">
    然后在PageLoad里写:
    string strTreeName = "TreeView1";
           string strRef = Page.GetPostBackEventReference(TreeView1);
           string strScript = "<script language=\"JavaScript\"> \n" +  
               "<!-- \n" +
               " function initTree() { \n" + 
               " " + strTreeName + ".onSelectedIndexChange = function() { \n" + 
               " if (event.oldTreeNodeIndex != event.newTreeNodeIndex) \n" + 
               " this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex); \n" + 
               " window.setTimeout('" + strRef.Replace("'","\\'")  + "', 0, 'JavaScript'); \n" + 
               " } \n" +        
               " } \n" +  
               "// --> \n" +
               "</script>";        Page.RegisterClientScriptBlock("InitTree",strScript );
    这样就只有你点击的节点更改的时候才提交!
      

  4.   

    其实这段程序就是在客户端实现了一个TreeView的SelectIndexChange事件,保证了树只在这一个事件里进行提交,而且它事件不进行提交刷新
      

  5.   

    不好意思,今天有些事情,怠慢大家了。
    谢谢各位的解答,好象还是不行。
    我的意思是在SelectIndexChange写的代码要触发两次才有效。