c# - 页面生命周期 - 使用 FindControl 引用在页面加载期间以编程方式创建的控件

标签 c# asp.net .net controls

我正在我的表单上以编程方式创建一些文本框,稍后我需要使用 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/

相关文章:

c# - Linq to Xml,保持 XDocument 加载?

c# - 来自代码的带有样式和 DateTriggers 的 DataTemplate

c# - 等待异步请求 webapi 2 客户端

c# - 测试链接的最有效方法

.net - 有没有办法为 ASP.Net Web 应用程序安装程序创建补丁?

c# - 使用 ASP.NET MVC 发送时事通讯时出现 IIS 错误

c# - 我可以使用计时器每 x 毫秒更新一次标签吗

c# - 如何将此 lambda 表达式转换为异步/等待?

c# - 通过文本框在 sql server 2005 中存储数据时出错

.net - 是否可以使用 .NET 泛型类实现 COM 接口(interface)?