查看页面的源代码里面是有那个控件的   但是为什么用FindControl就找不到呢?

解决方案 »

  1.   

    这个控件是一个radiobuttonlist  它的外层有两个父容器,都是panel
      

  2.   

    动态生成的控件??你保证在回发后不消失才行。需要每次在回发后重新生成同样ID的同种控件。这样page就会把重新生成的控件和原先的控件认为是同一控件
      

  3.   

    在它的直接父容器里FindControl
      

  4.   


    是不是把生成控件的代码写在page_load里面 ?
    我就是写在那里面的阿
      

  5.   

    最外层panel.FindControl()[索引].FindCOntorl()一层层找啊
      

  6.   


    panel不影响查找结果,参看以前sp1234回复过的一个帖子,很久远了,我帮你翻出来了
    看看吧,INamingContainer接口,6楼的回复
    http://topic.csdn.net/u/20081214/19/56B6B999-BD7C-48E3-9B2F-61A3AB0CCF57.html
      

  7.   

    FindControl方法执行时,它首先从控件“向上”顺着控件的从属关系找到实现了INamingContainer接口的控件,然后便利这个INamingContainer之下的所有子控件来查找待查找的ID,但是看到另一个INamingContainer是就停止不再深入内部了。因此,
    --------------------上面是引用sp1234的原话,panel没有实现这个借口,所以即使你panel1.findcontrol也是从panel外部上溯到第一个实现这个接口的容器开始查找的
      

  8.   


    你可以把生成控件的代码写到OnInit或者page_init中,因为你load时候创建的控件,在你findcontrol查找的时候可能还没有创建,早一点创建