提供代码供分析,我在前面加了行号,问题就出在第14、15行,字符串MENU的值我通过第17行LABEL输出是对的,但是绑定到TREEVIEW上时就不对了,TREEVIEW显示的是第一次访问该页面时生成的TREEVIEW,而这第一次访问可以不在同一台机器:
1、public void Page_Load(Object sender, EventArgs E)
2、{
3、 if(!IsPostBack)
4、 {
5、 Menu = "";
6、 if((Int32)Session.Contents["ClassId"] > 2) //控制部门经理级别的只能管理本部门的菜单项
7、 {
8、 GetMenu(1);
9、 }
10、 else
11、 {
12、 GetMenu(0);
13、 }
14、 MenuSource.Data = Menu;
15、 TreeViewMenu.DataBind();
16、 }
17、 Result.Text = Menu;
18、 for(int i=0;
i<TreeViewMenu.CheckedNodes.Count;
i++) //控制每次只有一个被选中的菜单项作为父菜单
19、 {
20、 TreeViewMenu.CheckedNodes.Checked = false;
21、 }
22、}