[英]Dynamically creating/loading a user control only works once!
protected void addMoreDay_btn_Click(object sender, EventArgs e)
{
Control OneMoreDay = LoadControl("~/controls/Days/DayAdd.ascx");
Days_div.Controls.Add(OneMoreDay);
}
我将我的 userControl 动态加载到一个 div 元素。但问题是它只能工作一次。 .. 我的意思是我单击addMoreDay_btn
按钮,然后我尝试再次单击它,它不会创建我的控件的另一个实例!
编辑
我认为它可以工作,但它不会保存最后创建的..它只是用新创建的控件替换它..我仍然不知道如何解决这个问题! =S
之所以会出现问题,是因为动态添加的控件在每次回发时都在再次创建之前被销毁。 为了使动态控件在回发中持续存在,您必须在每次页面回发时添加它们。
试试下面的代码。 请注意,控件被添加到 Page_Init 方法中:
protected void addMoreDay_btn_Click(object sender, EventArgs e)
{
Control OneMoreDay = LoadControl("~/controls/Days/DayAdd.ascx");
Days_div.Controls.Add(OneMoreDay);
Session["MyControl"] += 1
}
protected void Page_Init(object sender, EventArgs e)
{
for (int i = 1; i <= (int)Session["MyControl"]; i++) {
Control OneMoreDay = LoadControl("~/controls/Days/DayAdd.ascx");
Days_div.Controls.Add(OneMoreDay);
}
}
看这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.