Monday, August 17, 2009

How to add Control dynamically in an ASP.NET AJAX application

Most of us know how to create controls dynamically in an ASP.NET application. However a lot of users get confused while creating controls dynamically in an ASP.NET AJAX application. This is as the there is an async postback involved. Here's a very common technique to create controls dynamically in an ASP.NET AJAX application using ViewState






























C#


protected void Button1_Click(object sender, EventArgs e)

{

int cnt = 0;



if (ViewState["txtBoxes"] != null)

cnt = (int)ViewState["txtBoxes"];



cnt = cnt + 1;

ViewState["txtBoxes"] = cnt;





for (int i = 0; i < cnt; i++)

{

TextBox tb = new TextBox();

tb.Text = "";

tb.ID = "TextBox" + cnt;

UpdatePanel1.ContentTemplateContainer.Controls.Add(tb);

}

}



VB.NET


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)

Dim cnt As Integer = 0



If ViewState("txtBoxes") IsNot Nothing Then

cnt = CInt(Fix(ViewState("txtBoxes")))

End If



cnt = cnt + 1

ViewState("txtBoxes") = cnt





For i As Integer = 0 To cnt - 1

Dim tb As New TextBox()

tb.Text = ""

tb.ID = "TextBox" & cnt

UpdatePanel1.ContentTemplateContainer.Controls.Add(tb)

Next i

End Sub

No comments:

Post a Comment