似乎可以这样解释:
.ascx的User Control就相当于在页面中直接加入一段HTML代码,又.ascx自己来控制执行。
在使用这个控件的页面中,不能对其进行操作。我们可以看到,在每个页面代码中,类名称下面都有很多声明为protected的变量,这些就对应页面上的可操作的控件。
而一个.ascx的User Control是不生成这样的变量的。如果你要在代码里控制这个控件,你可以把它做成一个Class,继承DataGrid,或者动态添加一个DataGrid。

解决方案 »

  1.   

    谢谢icyer,我现在正在用class做,唉,这样封闭的控件太不吸引人了。。
    还是Class可操作性比较高。:)
      

  2.   

    实际上不用做Class,只需在代码页中的类中加入变量
    protect YourNamespace.CustomDataGrid CustomDataGrid1;
    就可以了。
      

  3.   

    to jerryfangsh
    谢谢你,不过你的CustomDataGrid不也是一个Class吗?
      

  4.   

    呵呵,错了,不好意思,每一个ascx都是一个abstract class。
    我制作ascx都是直接拖一个已有的Web Control,然后在它的基础上直接制作的。