我想在PlaceHolder里面动态添加多个HyperLink控件,我的写法是这样的:
HyperLink[] onelink = new HyperLink[10];
然后调用的时候我写的是onelink[1]......onelink[10]
调试的时候报错,说“未将对象引用设置到对象的实例”
请问多个HyperLink控件怎么声明阿??
最好说的详细一些,谢谢了

解决方案 »

  1.   

    下标错,从0开始的
    HyperLink[] onelink = new HyperLink[10];
    然后调用的时候我写的是onelink[0]......onelink[9]
      

  2.   

    真是奇怪啊,我都可以对onelink[i].Text进行赋值,怎么调式的时候就通不过呢????
    打onelink[i].可以找到HyperLink控件的属性....
      

  3.   

    PlaceHolder和多个HyperLink控件关联的代码呢,贴出来看看
      

  4.   

    HyperLink[] onelink = new HyperLink[thisdatabase.spsn.GetLength(0)];for(int i=0;i<thisdatabase.spsn.GetLength(0);i++)
    {
      onelink[i].Text = thisdatabase.spsn[i];
      fileView.Controls.Add(onelink[i]);
    }
    这里面thisdatabase.spsn.GetLength(0)是调用别的类的方法得到的一个int
    fileView 是PlaceHolder的实例。
      

  5.   

    这样是不行的。
    应该是在*1行报错吧?
    因为你只是生成了一个数组的实例,而数组中每个成员都没有生成实例。
    所以,你应该在*1行上添加一行。
    代码如下。for(int i=0;i<thisdatabase.spsn.GetLength(0);i++)
    {
      onelink[i] = new HyperLink();
      onelink[i].Text = thisdatabase.spsn[i]; // *1
      fileView.Controls.Add(onelink[i]);      // *2
    }
      

  6.   

    这样试试:
    HyperLink[] onelink = new HyperLink[10]{new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink(),new HyperLink()};{ }里面有10个new HyperLink(),比较笨的方法,呵呵
      

  7.   

    HyperLink[] onelink = new HyperLink[thisdatabase.spsn.GetLength(0)];
    只是声明数组的大小,里面的内容还是null
      

  8.   

    enutter(The Notorious G.W.W.) :也谢谢你!  ^o^问题解决了,ClementDik(剑问天)帮的忙!!