我编写了一个函数,用于在selectedindexchanged复选框后面的代码中创建动态表, 用户将检查2复选框时,将使用文本框生成2个表,
然后点击按钮我希望在数据库中插入这些文本框的值, 因为我想使用findcontrol找到文本框,但我找不到它,
所以我在页面加载时调用了表创建的相同功能, 但随后它显示文本框具有重复ID的错误
Plz告诉我解决方案。
感谢
答案 0 :(得分:1)
创建动态控件时,需要在每次回发时重新创建。
这样做的最佳位置是OnInit
事件处理程序。在复选框的SelectedIndexChanged
事件处理程序中执行此操作的问题是,在回发时,它们将不会被重新创建且无法访问。
有关详细信息,请参阅this文章,也可以阅读asp.net page life cycle。
答案 1 :(得分:1)
使用runat =“Server”在页面上添加div,并为其指定ID,例如div1。 将表添加到此div,但您应该始终写
div1.Controls.Clear();
在第一个然后再将表添加到div。