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
.
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