我有一个用户控件,其中包含几个按钮,取决于按下按钮不同的控件被添加到页面(可以说,按钮1添加一个文本框,按钮2添加一个标签)。ASP.net在Button按钮上动态添加控件。回复问题
我的线沿线的代码:
protected void but1_click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.ID = "tb1";
paramsCtrlDiv.Controls.Add(tb);
}
protected void but2_click(object sender, EventArgs e)
{
Label lb = new Label();
lb.ID = "lb1";
paramsCtrlDiv.Controls.Add(lb);
}
我再有第三个按钮(按钮3)获得页面和他们的价值观上的所有控件。 (假设这个例子中每个按钮只被点击一次)。
我的问题是当button3被按下paramsCtrlDiv.controls数组不包含已添加的控件。我知道我需要在每次回发的Page_Load时间添加这些控件。我的问题是因为我不确切知道用户添加了哪些控件,我不知道我想要添加Page_Load(可能有文本框,然后是标签,只是标签或只是一个标签),我可以不能控制用户按下的内容。
我知道我可以在会话中存储所有内容,但我不确定这是否是一个优雅的解决方案。此外,还可以在不同的标签此控件的多个实例使每一个有正确地维护它自己的控件集合