[thelist] (asp.net) accessing controls created at runtime.
Tab Alleman
talleman at Lumpsum.com
Tue Feb 21 10:25:42 CST 2006
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?
More information about the thelist
mailing list