To ask my question I have created an \[code\]aspx\[/code\] file containing a \[code\]Button\[/code\] and a \[code\]DataList\[/code\] with an SqlDataSource:\[code\] <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> <aspataList ID="DataList1" runat="server" DataKeyField="a" DataSourceID="SqlDataSource1" > <ItemTemplate> a: <asp:Label ID="aLabel" runat="server" Text='<%# Eval("a") %>' /> <br /> b: <asp:Label ID="bLabel" runat="server" Text='<%# Eval("b") %>' /> <br /> </ItemTemplate> </aspataList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStringsrobaConnectionString %>" SelectCommand="SELECT [a], FROM [PROBA_TABLE]"></asp:SqlDataSource>\[/code\]In my code behind I add \[code\]TextBoxes\[/code\] to the Items of the DataList. I add to every Item a TextBox in the Page_Load, and another TextBox in the Button Click \[code\]eventhandler\[/code\] as well.\[code\] public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { foreach (DataListItem item in DataList1.Items) { item.Controls.Add(new TextBox()); } } } protected void Button1_Click(object sender, EventArgs e) { foreach (DataListItem item in DataList1.Items) { item.Controls.Add(new TextBox() ); } } }}\[/code\]This works fine except one thing. When I click the Button, the TextBoxes which were created in the Page_Load keep their Text value, but the TextBoxes which were created in the \[code\]Button1_Click\[/code\] lose their Text values. My real problem is more complicated than this, but I think solving this would help me a lot.