在运行时创建的控件的访问值

时间:2010-11-18 17:42:05

标签: c# asp.net

我遇到了问题:

我在运行时在向导中包含的面板中创建一个TextBox。

我想访问客户端将插入此文本框的值。

我写了这段代码来做到这一点:

TextBox _txt = Panel1.FindControl(txtArray[i].ID) as TextBox;

但是我收到了这个错误:

  

对象引用未设置为对象的实例。

这意味着FindControl没有通过其id找到此控件。

这是在运行时创建文本框的代码:

for (int i = 1; i <= loop; i++)
{
     txtArray[i] = new TextBox();
     txtArray[i].ID = "txt4Name" + i;
}

有人可以帮我找到错误吗?

1 个答案:

答案 0 :(得分:1)

如果您只需要访问TextBox,则已在阵列中使用它。无需使用FindControl。

TextBox _txt = txtArray[i];

但是,我怀疑ypu可能在这里有另一个错误。你确定它已添加到面板中,也是在PostBack上?