关于TreeView重新绑定后,怎么保存重新绑定前的展开状态的有关问题

关于TreeView重新绑定后,如何保存重新绑定前的展开状态的问题?
一、问题前描述:
环境:VS2012 C# WebFrom
1.页面上有一个TreeView控件,递归绑定到数据库,没有加NavigateUrl属性;
2.对TreeView控件进行增删改,在TreeView1_SelectedNodeChanged事件中会得到当前点击的节点数据,并打开增删改的DIV,DIV里面有Button控件;
3.在Button_Click事件中增删改成功后,重新绑定到TreeView控件,重新绑定后,可以全展开或展开初始状态。

二、需要解答的问题:
问题:TreeView重新绑定后,如何保存重新绑定前的展开状态的问题?
------解决方案--------------------
这个没办法吧,重新绑定后,树结构重置,之前的状态都清空了的。你只能手动更改哪个节点展开
------解决方案--------------------
记录一下当前展开节点的id,重新加载后,找到这个节点,然后展开
------解决方案--------------------
引用:
Quote: 引用:

额。。。他有个状态的。。。
节点.Expanded==true就是展开

是这样子吗?
            foreach (TreeNode zt in TreeView1.Nodes)
            {
                if (zt.Value == XMLvalue.Value)
                {
                    zt.Expanded = true;
                }
            }

差不多的,但是你要考虑到是否还有子节点