首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在运行时问题ASP.Net中添加控件

在运行时问题ASP.Net中添加控件
EN

Stack Overflow用户
提问于 2009-02-24 10:45:40
回答 4查看 2.4K关注 0票数 0

我在页面上放了一个链接,在点击后我写了一些代码来添加一些控件,

代码语言:javascript
代码运行次数:0
运行
复制
    DropDownList newDropdownlist = new DropDownList();
    panel.Controls.Add(newDropdownlist);
    CheckBox newChkbox = new CheckBox();
    panel.Controls.Add(newChkbox);
    TextBox txt = new TextBox();
    txt.ID = "txtPhoneValue";
    panel.Controls.Add(txt);

我的问题是,当我点击这个链接时,它会添加这些控件一次,但如果我再次单击,它不会添加更多,看起来它删除了以前添加的控件,并再次添加它们。

我想添加越来越多的每个链接点击。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-24 11:04:51

好的,这些添加的控件不会在回发之间的任何地方持久存在。因此,您应该在每次页面重新加载时添加它们。

考虑使用一些标志(例如,存储在会话中)来指示必须添加额外的控件。

票数 5
EN

Stack Overflow用户

发布于 2009-02-24 11:12:11

您的控件正在消失,因为它们没有存储在任何地方(页面在回发时会忘记它们)。请记住,在每次回发时,都必须重新创建页面。

有相当多关于使用动态创建的控件的文章。此外,为了完全理解问题所在,有必要熟悉页面的生命周期。

这里有两篇文章对我很有帮助:

票数 2
EN

Stack Overflow用户

发布于 2009-02-24 11:25:10

您需要在回发时重新创建控件(具有相同in的),您可以在CreateChildControls方法中执行此操作。

查看Page Life-Cycle of ASP.NET以了解何时何地可以修改内容是值得的。如果为时已晚,它将不会被添加到ViewState等,所以特别是在使用动态创建的控件时,这是值得理解的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/581286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档