动态创建的控件在回发后丢失数据。

9 浏览
0 Comments

动态创建的控件在回发后丢失数据。

实际上,在Pageload上创建了一个TextBox,并将该TextBox添加到Panel中。

现在,我有一个类似于Add AnotherLinkButton

我在那个TextBox中输入文本,如果需要,我需要点击Add Another LinkButton来创建新的TextBox

实际上,我能够获取计数并重新创建TextBoxes

但是,问题是,我在之前生成的Textboxes中输入的文本丢失了。

有人可以提供解决方案吗?

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        if (!IsPostBack)
        {
            for (int i = 0; i < 5; i++)
            {
                TableRow row = new TableRow();
                for (int j = 0; j < 5; j++)
                {
                    TableCell cell = new TableCell();
                    TextBox tb = new TextBox();                        
                    tb.ID = "TextBoxRow_" + i + "Col_" + j;                        
                    cell.Controls.Add(tb);                        
                    row.Cells.Add(cell);
                }                    
                Table1.Rows.Add(row);
            }
        }
    }
    catch (Exception ex)
    {
        throw;
    }        
}

这是一个示例代码,相同的代码也写在Button_Click中。

 protected void ASPxButton1_Click(object sender, EventArgs e)
{
    int k = Table1.Controls.Count;
}

Button_Click上获取到的Count=0

0