treeview自己就有这个事件(NodeSelected),记住把treeview的自动回发属性设为true

解决方案 »

  1.   

    http://msdn.microsoft.com/workshop/webcontrols/overview/treeview.asp
      

  2.   

    Responding to the SelectedIndexChange Eventvoid treeviewAvailableProjects_SelectedIndexChange(
         object sender, TreeViewSelectEventArgs e)
    {
      DirectoryInfo di;
      string strDir;
      string sSelectedNode;  this.textboxFileContents.Text = "";
        treeviewProjectInfo.Nodes.Clear();  sSelectedNode =
        treeviewAvailableProjects.SelectedNodeIndex;
      TreeNode tnAvailProjects = 
        treeviewAvailableProjects.GetNodeFromIndex(
          sSelectedNode);  strDir = tnAvailProjects.NodeData;
      if(strDir != "")
      {
        TreeNode tn;
        try
        {
          tn = new TreeNode();
          treeviewProjectInfo.Nodes.Add(tn);
          treeviewProjectInfo.Nodes[0].Text = strDir;
        
          di = new DirectoryInfo(strDir);      BuildDirectoryTree(di, treeviewProjectInfo.Nodes[0]);
        }
        catch(Exception ex)
        {
          Trace.Warn(ex.ToString());
        }
      }
    }
      

  3.   

    我使用的是web form的treeview控件。没有找到NodeSelected事件,而且把treeview的自动回发属性设为true的话,整个目录树会在做任何操作时都会刷新,闪动的很厉害,效果不好。
    用SelectedIndexChange也存在这样的问题。
      

  4.   

    treeview的刷新是很厉害的,CSDN中关于TREEVIEW的例子很多,你可以搜索一下。
      

  5.   

    你的TREEVIEW在写代码时应该有Nodes[i].NavigateUrl属性,将你的NavigateUrl带上你要的参数定位到其他处理页面,让其他的处理页面处理就可以了
      

  6.   

    我把参数写在Session里就是不想在url上面把参数显示出来,如果直接传参,我还得在其他处理页面进行权限的判断.
    顺便问问Session变量能存多大的字符串?到底有没有限制?
      

  7.   

    我也在找这个,找了很久了,其实你可以把URL提交到本页面的,但每次都要刷新。