给公司做一个简单的单点登录系统用到Treeview控件。节点由数据库中读取,根据节点的value值结合登入用户名,跳转到不同的系统页面。以为能很快解决这个问题,没想到用treeview是遇到了大麻烦。
A系统
------a模块
------b模块
------c模块
B系统
-------d模块
-------e模块
不管我如何选择节点,在SelectedNodeChanged 事件中得到的SelectedNode始终是a模块。
上网找了很久,找到这样一段话:We simply set the Value property of each node to the ChildNodes.Count value as the tree is recursively built. 关键是在节点创建的时候,就是在创建TreeView时没有注意。
我们必须给Value赋予不同的值,这样selectnode就不会因为由其他节点有相同的Value而造成误会。
修改后代码如下:


























这样之后,selectednode 不再一直选择a模块了,我的问题解决了,希望能给碰到此问题的朋友一些提示。