I am creating controls at runtime, and they show up on the page, but when the page is submitted, I can't find them. What am I doing wrong? To reduce the code to critical elements, I have a datacell on my .aspx page like this: <td class='TableData' id="tdAttorney" runat="server" nowrap></td> Then in my vb.net code-behind, I populate the cell like this: Dim tdAttorney As System.Web.UI.HtmlControls.HtmlTableCell tdAttorney = e.Item.FindControl("tdAttorney") 'add textboxes Dim tbAttorneyFirstName As New System.Web.UI.HtmlControls.HtmlInputText Dim tbAttorneyLastName As New System.Web.UI.HtmlControls.HtmlInputText With tbAttorneyFirstName .Value = e.Item.DataItem("AttorneyFirstName").ToString .Size = 20 .ID = "tbAttorneyFirstName" .MaxLength = 50 End With With tbAttorneyLastName .Value = e.Item.DataItem("AttorneyLastName").ToString .Size = 20 .ID = "tbAttorneyLastName" .MaxLength = 50 End With With tdAttorney .Controls.Add(tbAttorneyFirstName) .Controls.Add(tbAttorneyLastName) End With ----------- Ok, all of this works...the textboxes show up on the page. In the submit_click handler, I've got this: tdAttorney = itemSI.FindControl("tdAttorney") tbAttorneyFirstName = tdAttorney.FindControl("tbAttorneyFirstName") tbAttorneyLastName = tdAttorney.FindControl("tbAttorneyLastName") ----when I stop the page in the debugger, it's finding tdAttorney (the datacell), but it's saying it doesn't contain any controls. The page doesn't contain the controls, either. What am I missing?