2011-10-20 87 views
0

我做了一个像树视图的文件系统,当我点击一个节点时,我可以看到这个节点内的文件。树查看更新回发

我现在有一个问题...当我点击一个节点时,我显示这些文件,但是当我点击这个相同的节点时,这些文件消失。

这是我的代码的一部分,PageLoad和TreeViewLoad。

protected void Page_Load(object sender, EventArgs e) 
    { 
     if ((Request.Cookies["UserSettings"] == null)) 
     { 
      Response.Redirect("Logon.aspx"); 
     } 
    } 

    #region TreeView 

    protected void MyTreeView_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      int userid = Convert.ToInt32(Request.Cookies["UserSettings"]["Id"]); 
      DbHelper Db = new DbHelper(); 

      root = Db.GetFoldersForUser(userid); 

      TreeNode rootTreeView = new TreeNode("Projects"); 
      rootTreeView = LoadNodes(root.TopFolders, rootTreeView); 

      MyTreeView.Nodes.Add(rootTreeView); 
      MyTreeView.CollapseAll(); 

     } 
    } 

    #endregion 

我厌倦了,因为我真的找不到解决方案。这是一个问题!回发?如果有人有解决方案,请帮助我。

KR

回答

2

这是因为您正在动态地填充树视图。 并且在回发之后,您没有实例化它 您还可以做什么。

1)将上面的代码放在page_init中。 2)以你的方式填充树视图。

或者

reomve的

if (!IsPostBack) 
+0

请添加代码来初始化,它会工作。 – ratneshsinghparihar

+0

我已经把树视图加载代码放在页面加载中,它仍然是一样的。如果没有回传,它每次点击一个节点时都会创建一个新的树状视图,而回发它仍然是同样的问题。 – Kiwimoisi

+0

在TreeView的初始化中还是在初始页面中? – Kiwimoisi