Dynamically Created Controls losing data after postback

RealSteel picture RealSteel · Jul 11, 2013 · Viewed 90.2k times · Source

Actually, I am Creating 1 TextBox on Pageload and adding that TextBox to Panel. Now, I have a LinkButton like Add Another.

I am entering Text in that TextBox and if needed I need to Create New TextBox,by clicking Add Another LinkButton.

Actually, I am able to get the count and recreate the TextBoxes. But,the Problem is that, My Entered text in the Previously Generated Textboxes is Missing.

Can Anyone,Suggest me a solution for this?

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

This is a Sample Code, the same code is written in Button_Click Also

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

I am getting a Count=0 on Button_Click.

Answer

Vivek picture Vivek · Sep 21, 2013

All you need to do is to re-instantiate / reinitialize dynamic controls before or within page load event each and every time during postback and add this control to page / forms / placeholders. Then, the posted data will automatically be assigned to the control by calling the LoadPostData method by the parent control.

check the article and how to write code for dynamic control - How to maintain dynamic control events, data during postback in asp.net

enter image description here