0

我想在每次按下按钮时将 usercontrl 添加到表控件,我已经在 Click Event 中完成了此代码,我在 First Click 中获得了控件,但是在此控件消失之后,可以提出解决方案吗?谢谢。

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;
4

1 回答 1

1

每当您将控件动态添加到控件集合时,在回发时您必须将该控件重新添加到控件树中。所以所有旧的用户控件都需要在页面初始化时重新添加。另外,我强烈建议不要使用 session 来存储对表行的引用;如果您将表行重新添加到表中,viewstate 将重新加载其中的数据。

于 2013-03-28T12:21:26.193 回答