我正在我的表单上以编程方式创建一些文本框,稍后我需要使用 FindControl 引用它们。
我在创建它们的代码之后将 FindControl 指令放在页面加载方法中,但出现错误:
Object reference not set to an instance of an object.
我假设这是因为文本框控件直到生命周期后期才创建,因此无法从 Page_Load 中引用。
有人可以建议我需要在我的代码隐藏中的什么地方放置 FindControl 指令,以便它可以找到这些以编程方式创建的文本框吗?
最佳答案
您是否将文本框控件放在另一个控件(例如面板或网格)中?如果是这样,您需要递归搜索页面上的所有控件。
这是递归 FindControl 实现的示例:Recursive Page.FindControl .您可以通过谷歌搜索“递归查找控件”找到许多其他示例。
关于c# - 页面生命周期 - 使用 FindControl 引用在页面加载期间以编程方式创建的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/190593/