我在 ASP.NET 3.5 Web 应用程序中使用 TreeView 和 ShowCheckBoxes="All",由于某种原因,检查的节点未按顺序返回。假设我有节点 A、B、C,我选择 B 和 C 并单击保存按钮,当我检查 Treeview 的 CheckedNodes 属性时,检查的节点按顺序排列 (B,C)。但下次当我返回页面并选择节点 A 时,顺序将返回 B、C、A。这种行为的原因可能是什么?
最佳答案
CheckedNodes 是一个 TreeNodeCollection,它只实现了 ICollection。当 checkChanged 事件触发时,它可能只是将树节点添加到 CheckedNodes 集合中。
我什么也看不见on MSDN意味着您应该假设节点是有序的。它只说:
Each time the page is posted to the server, the CheckedNodes collection is automatically populated with the selected nodes.
根据您的实验,似乎可以安全地假设在第二次回发时,它只是将任何新的已检查节点添加到集合中,而不是清除集合并重新添加所有内容。
关于asp.net - Treeview 检查的节点未按顺序返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1996207/