如题,代码如下:<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>           <asp:Panel ID="Panel1" runat="server" ScrollBars="Auto">
        
            <asp:TreeView ID="TreeView1" runat="server" Font-Size="11px" ShowLines="True" 
                onselectednodechanged="TreeView1_SelectedNodeChanged">
                <SelectedNodeStyle Font-Bold="True" />
            </asp:TreeView>
            
       </asp:Panel>        
 </ContentTemplate> 
 <Triggers>
<asp:AsyncPostBackTrigger ControlID="ButtonRead" EventName="Click" />
</Triggers>
 </asp:UpdatePanel>当treeview生成的树结点很多时,点击下半部分的TREEVIEW树的结点执行了:SelectedNodeChanged事件后,TREEVIEW总是定位到最上面在PAGE_LOAD中添加了:    this.Panel1.Page.MaintainScrollPositionOnPostBack = true; //设置智能定位
    this.Page.MaintainScrollPositionOnPostBack = true; //设置智能定位
仍然无效,如果把这个PANEL取消掉,是可以自动定位,但是treeview太长影响美观。
解决完立马散分

解决方案 »

  1.   

    http://topic.csdn.net/u/20070824/10/5dacee30-148e-4439-a413-21f4551e19a0.html
      

  2.   

    是load事件有让treeview定位到第一个node的代码吧,所以每次刷新都会定位到第一个node
      

  3.   

    试用了 Nicklee.Web.Ui.Treeview感觉还是不错的现在有一个 很大的问题是 Treeview的几个CSS设置后(结点的CSS属性,只是设了超级简单的CSS:如font-size)在IE7和傲游下是正常的,但是在IE6下 无效,超级郁闷另外的缺陷是 如果这个treeview点击结点->动态生成子结点时,树还是会全部刷新一下(而微软的控件就不会全部刷新)
    有解决办法吗????????
      

  4.   

    结贴,错误原因在于 把panel放到 UPDATEPANEL里了