小弟之前一直使用VS2003,在03里可以动态的给用户控件设置属性值,然后调用一下用户控件里的公用方法进行绑定,可是在VS2005中,在我定义的方法里操作用户控件里的TreeView控件却报未将对象引用到实例,望各位帮忙解决一下用户控件里的方法    public void treeBind()
    {
        IList<tree> itemsByTree=this.GetTree();
        TreeNode tmpTn;
       
        foreach(tree itemTree in itemsByTree)
        {
            tmpTn = new TreeNode();
            tmpTn.Text = itemTree._nodename;
            tmpTn.NavigateUrl = itemTree._NavigateUrl;
            this.TreeView1.Nodes.Add(tmpTn);           这里报错
        }
    }页面调用代码想实现在pageload的时候设置控件的一个属性,再调研上面这个方法绑定数据,自己试了几种写法,始终不能成功,望大家相助

解决方案 »

  1.   

     public void treeBind()
        {
            IList<tree> itemsByTree=this.GetTree();
            
           
            foreach(tree itemTree in itemsByTree)
            {
              TreeNode  tmpTn = new TreeNode();
                tmpTn.Text = itemTree._nodename;
                tmpTn.NavigateUrl = itemTree._NavigateUrl;
                this.TreeView1.Nodes.Add(tmpTn);           这里报错
            }
        }
    然后在看看 数据库里面的确保每条数据都有值 是否为空
      

  2.   

    主页面操纵用户控件里的TreeView?这个似乎不太安全。
    其实页面加载的顺序是,主页面 --> 用户控件
    可以再主页面的Page_Load里面设置下UserControl的属性,
    然后UserControl在Page_Load里面取得属性,传递给相应的方法即可
      

  3.   

    主页面我都不知道怎么调用,又不能NEW一个类出来