我正在尝试在ASP.NET(Web)TreeView控件中显示图像。基本上在DB中有1,2和/或3个勾选,并且检查的所有内容都应该使得适当的图像出现在树上该节点的旁边。这一切都有效,除了那时有回发 我已经使用了这个[http://www.codeproject.com/Articles/14031/Displaying-Multiple-Images-In-The-ASP-NET-TreeView]并且它正常工作,除了发生回发的时候。 除了+ - 符号,我还使用onselectednodechanged方法,这会导致回发(这是正常的,因为页面上同时发生了其他事情)。但是回发失去了它应该显示图像并且它们消失的事实。
我只能假设图像没有保存在视图状态中,因为树渲染时它会打开到正确的点而忽略图像。
是否有更好的方法可以在树状视图中显示图像?或者是一种告诉视图状态记住图像的简单方法
------------------额外信息---------------
我刚看过回发期间节点/子节点会发生什么。他们恢复默认类型。 当我创建它们时,它们被创建一个继承自TreeNode的ImageTreeViewNode。 在回发之后,节点都是TreeNode而不是ImageTreeViewNode。有没有办法阻止他们恢复和丢失额外的信息?
答案 0 :(得分:0)
通过为Treeview控件扩展TreeView类和新的“ImageTreeView”类来解决这个问题。
我更改了createNode方法以使用新的ImageTreeNode类(扩展的TreeNode类)
如果它是一个好的或坏的解决方案,不起诉,但它接缝起作用。