我需要使用反射通过它的 ID 从我的页面获取控件 [textbox,label,button ...etc]
在我的例子中,我有一个所有其他系统页面都继承自它的类,并且这个类覆盖了 onload 事件以将某些属性更改为某些控件
就像通过它的名字设置文本框的可见性状态但是因为我没有直接在页面上的控件因为我可能在母版页的内容占位符上有它所以我也不能使用 findcontrol 方法我认为递归查找控件的函数将花费太多时间
所以我尝试通过反射找到一个带有它名字的控件然后改变它的可见或启用状态
我使用了 FieldInfo 类,但对我不起作用
FieldInfo fi = this.GetType().GetField("ControlID", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase);
任何帮助!
最佳答案
你试过了吗FindControl
Control myControl = this.FindControl("TextBox2");
if(myControl !=null)
{
// Do Stuff
}
关于c# - 通过反射获取控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6001807/