Asp.net 如何在表中加载用户控件
我想在每次按下按钮时将usercontrl添加到表控件, 我已经在Click事件中完成了这段代码,我在第一次单击中获得了控件,但在此之后 控制不起作用,有人能提出解决方案吗? 谢谢Asp.net 如何在表中加载用户控件,asp.net,Asp.net,我想在每次按下按钮时将usercontrl添加到表控件, 我已经在Click事件中完成了这段代码,我在第一次单击中获得了控件,但在此之后 控制不起作用,有人能提出解决方案吗? 谢谢 无论何时,只要将控件动态添加到控件集合中,回发时就必须将该控件重新添加到控件树中。因此,所有较旧的用户控件都需要在page init上重新添加。另外,我强烈建议不要使用会话来存储对表行的引用;如果将表行重新添加到表中,viewstate将重新加载其中的数据。Session.add((Session.Count+1.T
无论何时,只要将控件动态添加到控件集合中,回发时就必须将该控件重新添加到控件树中。因此,所有较旧的用户控件都需要在page init上重新添加。另外,我强烈建议不要使用会话来存储对表行的引用;如果将表行重新添加到表中,viewstate将重新加载其中的数据。Session.add((Session.Count+1.ToString(),tr);)的作用是什么??其中是在第页添加表1的代码。将其置于pre_init中,以便其视图状态在加载时可用Table1在设计时添加,而不是通过代码,每次Rows.count递增,但在页面上无效如果(Session[“tbl”!=null){Table1=(Table1)Session[“tbl”];},请尝试将此代码置于加载事件中同样的事情也发生在加载事件中,如果您可以发布所有加载事件,这将是完全有帮助的
if (Session["tbl"] == null)
{
Session["tbl"] = Table1;
}
else
{
Table1 = (Table)Session["tbl"];
}
TimeSheetRow tr= LoadControl ("TimeSheetRow.ascx") as TimeSheetRow ;
tr.ID = "tr" + Table1.Rows.Count;
Session.Add((Session.Count + 1).ToString(), tr);
Table1.Rows.Add(new TableRow());
Table1.Rows[Table1.Rows.Count -1].Cells.Add(new TableCell());
Table1.Rows[Table1.Rows.Count - 1].Cells[0].Controls.Add(tr);
Session["tbl"] = Table1;