如题,如何通过反射获得工程中所有aspx页面中的所有控件集合
我的想法是assembly加载dll,然后先gettypes,获得所有的类集合,然后再getmembers()获得成员,不过发现getmembers的时候只能获得公共成员,类中的私有变量和保护成员都不能获得,但是控件是保护成员,那我应该如何获得呢?

解决方案 »

  1.   

    获类型以后,判断是否是Page的子类,创建其实例,然后做个递归遍历它的Controls属性就可以啦。
      

  2.   

    2楼,谢谢你的提醒,不过我实例之后发现controls。count为0,太奇怪了,你原来获取实例的时候control有值嘛?
      

  3.   

    aspx.cs的实例可能和普通类实例不一样,他和aspx文件相关,所以光获得aspx.cs的实例也没有用,整个实例都是空的,2楼的方法估计不行