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
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment