从动态创建的表中查找控件

时间:2011-01-06 13:41:28

标签: asp.net

我编写了一个函数,用于在selectedindexchanged复选框后面的代码中创建动态表, 用户将检查2复选框时,将使用文本框生成2个表,

然后点击按钮我希望在数据库中插入这些文本框的值, 因为我想使用findcontrol找到文本框,但我找不到它,

所以我在页面加载时调用了表创建的相同功能, 但随后它显示文本框具有重复ID的错误

Plz告诉我解决方案。

感谢

2 个答案:

答案 0 :(得分:1)

创建动态控件时,需要在每次回发时重新创建

这样做的最佳位置是OnInit事件处理程序。在复选框的SelectedIndexChanged事件处理程序中执行此操作的问题是,在回发时,它们将不会被重新创建且无法访问。

有关详细信息,请参阅this文章,也可以阅读asp.net page life cycle

答案 1 :(得分:1)

使用runat =“Server”在页面上添加div,并为其指定ID,例如div1。 将表添加到此div,但您应该始终写

div1.Controls.Clear();

在第一个然后再将表添加到div。