我有一个htmlgeneric控件,在运行时我在其中添加控件但是当我点击任何按钮时,添加的控件就会消失。
答案 0 :(得分:1)
需要在每个帖子上创建动态创建的控件。如果要维护和恢复其ViewState,还需要为其提供ID。
例如,这将在第一次加载页面时显示TextBox
,但在任何子页面加载时,控件将丢失:
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox newControl = new TextBox()
{
ID = "newControl"
};
SomeControl.Controls.Add(newControl);
}
}
但是,如果您使用相同的Id在每个回发上创建控件,那么控件将使用它的文本进行维护:
protected void Page_Init(object sender, EventArgs e)
{
TextBox newControl = new TextBox()
{
ID = "newControl"
};
SomeControl.Controls.Add(newControl);
}
这是一篇关于处理dynamic controls的好文章。