首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控件添加PostBack问题

控件添加PostBack问题
EN

Stack Overflow用户
提问于 2010-01-11 22:03:50
回答 4查看 1.6K关注 0票数 0

我动态地添加了控件,但是;easc回发事件我的控件消失了。我再也看不到我的控件了。

那么我该如何添加控件呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-11 23:01:03

将控件添加到页面的Init事件中,它们将在回发时保留在viewstate中。确保他们有一个唯一的ID。

查看此链接...

ASP.NET Add Control on postback

一个非常琐碎的例子..

代码语言:javascript
复制
public partial class MyPage : Page
{
    TextBox tb;

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        tb = new TextBox();
        tb.ID = "testtb";
        Page.Form.Controls.Add(tb);
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        //tb.Text will have whatever text the user entered upon postback
    }
}
票数 0
EN

Stack Overflow用户

发布于 2010-01-11 22:32:10

因为您必须在每次回发时重新创建控件,所以see this article

票数 1
EN

Stack Overflow用户

发布于 2010-01-11 22:36:54

加载控件后,应始终在UserControl的ID属性中为其分配唯一的ID。而且您应该始终在回发时重新创建UserControl。

要保留回发数据(即文本框),必须在调用base.LoadViewState之后在处理回发数据之前在重写的LoadViewState方法中加载UserControl。

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

https://stackoverflow.com/questions/2042270

复制
相关文章

相似问题

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