我有一个问题:
我在运行时在向导中包含的面板中创建了一个文本框。
我想访问客户端将插入此文本框的值。
我写了这段代码来做到这一点:
TextBox _txt = Panel1.FindControl(txtArray[i].ID) as TextBox;
但是我得到这个错误:
Object reference not set to an instance of an object.
这意味着 FindControl 没有通过它的 id 找到这个控件。
这是在运行时创建文本框的代码:
for (int i = 1; i <= loop; i++)
{
txtArray[i] = new TextBox();
txtArray[i].ID = "txt4Name" + i;
}
谁能帮我找出错误?
最佳答案
如果您只需要访问 TextBox,那么您的数组中已经有了它。无需使用 FindControl。
TextBox _txt = txtArray[i];
但是,我怀疑 ypu 可能在这里有另一个错误。您确定它已添加到面板中,也在 PostBack 上吗?
关于c# - 在运行时创建的控件的访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4217846/