首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

treeview展开保持的有关问题,想不通

2012-09-04 
treeview展开保持的问题,想不通页面很简单:一个updatepanel里面有一个LinkButton,和一个treeview实现的功

treeview展开保持的问题,想不通
页面很简单:一个updatepanel里面有一个LinkButton,和一个treeview
实现的功能是:点击LinkButton后调用方法showtree动态取得产品结构数据显示在treeview中

test.aspx:

<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton><br />

<asp:TreeView ID="tv1" runat="server">
<Nodes>
<asp:TreeNode Text="请选择……" Value="-1"></asp:TreeNode>
</Nodes>
</asp:TreeView>

</ContentTemplate>
</asp:UpdatePanel>


test.vb:
…………
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  showTree(62)
End Sub


问题:

当对点击LinkButton生成的树进行选择操作,引发updatepanel更新后,treeview不能保持节点的展开状态,能保持选中状态。

但是如果在page_load里面调用showtree(62)生成结构树,则没有问题(既能保持选中状态,也能保持展开状态)
 If Not Page.IsPostBack Then
  showTree(62)
 End If



我想不通这两者有啥区别,都是执行一次,页面回发时都不重建结构树的呀

[解决办法]
还是没有看明白,如果你调用的程序没有问题的话,应该是一样的;你调试一下看看执行顺序就知道问题在哪里了
[解决办法]
我记得很清楚,曾经确认过TreeView、Menu这两个控件不能放在UpdatePanel中。不知道现在SP1有没有解决。如果你找不到分析了TreeView源代码的人的分析,就不要把TreeView方法UpdatePanel中。TreeView本身可以支持客户端回调技术来Ajax方式动态加载子节点,只是需要设置一两个特殊属性而已。

http://www.google.cn/search?hl=zh-CN&newwindow=1&rls=com.microsoft%3A*%3AIE-SearchBox&rlz=1I7GGIJ&q=treeview+updatepanel&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=
[解决办法]
学习,帮顶!

热点排行