【问题标题】:Access value of control that is created at run time在运行时创建的控件的访问值
【发布时间】:2010-11-18 17:42:05
【问题描述】:

我有一个问题:

我在运行时在向导中包含的面板中创建了一个文本框。

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

我为此编写了这段代码:

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;
}

谁能帮我找出错误?

【问题讨论】:

  • 将文本框添加到面板的哪个位置?用什么方法创建代码?您是否在每次页面加载时重新创建文本框?
  • 不,我创建了 texbox 作为“来自客户端”的文本框数量的响应
  • 好的。因此,您不会将它们添加到面板中。面板FindControl 方法应该如何找到未添加到其中的控件?

标签: c# asp.net


【解决方案1】:

如果您只需要访问 TextBox,那么您的数组中已经有了它。无需使用 FindControl。

TextBox _txt = txtArray[i];

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    相关资源
    最近更新 更多