通过反思获得控制权

Ash*_*OoO 3 .net c# reflection

我需要通过它的ID使用反射从我的页面获得一个控件[文本框,标签,按钮......等]

在我的情况下,我有一个类,所有其他系统页面都从它继承,这个类重写onload事件,将一些属性更改为某些控件

比如设置文本框的可见性状态,但由于我没有控件直接在页面上,因为我可能在主页面中的内容占位符上有这样的,所以我不能使用findcontrol方法,我认为递归函数找到控制将花费太多时间

因此,我尝试使用refelection来查找具有其名称的控件,然后更改它的可见或启用状态

我使用了FieldInfo类,但不能和我一起工作

FieldInfo fi = this.GetType().GetField("ControlID", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

任何帮助!

Ste*_*cya 7

你试过FindControl吗?

  Control myControl = this.FindControl("TextBox2");
  if(myControl !=null)
  {
       // Do Stuff
  }
Run Code Online (Sandbox Code Playgroud)