[thelist] (asp.net) accessing controls created at runtime.
Tab Alleman
talleman at Lumpsum.com
Tue Feb 21 10:56:58 CST 2006
So you're saying I should DIM the control in page_init, but where do I "FindControl()" it? Still in page_init, or in the submit_click event handler?
> -----Original Message-----
> From: thelist-bounces at lists.evolt.org
> [mailto:thelist-bounces at lists.evolt.org]On Behalf Of James Conley
> Sent: Tuesday, February 21, 2006 11:46 AM
> To: thelist at lists.evolt.org
> Subject: Re: [thelist] (asp.net) accessing controls created
> at runtime.
>
>
> If you want to get events from dynamically created controls then you
> need to dynamically create those controls on post back
> *before* the post
> back data is "restored" into the controls.
>
> So - any controls you create dynamically should be done in either
> page_init or page_load. Probably page_init is safer.
>
>
> james c
>
>
> -----Original Message-----
> From: thelist-bounces at lists.evolt.org
> [mailto:thelist-bounces at lists.evolt.org] On Behalf Of Tab Alleman
> Sent: Tuesday, February 21, 2006 11:26 AM
> To: Evolt Thelist (E-mail)
> Subject: [thelist] (asp.net) accessing controls created at runtime.
>
> 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?
> --
>
> * * Please support the community that supports you. * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester and
> archives of thelist go to: http://lists.evolt.org Workers of the Web,
> evolt !
> --
>
> * * Please support the community that supports you. * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
>
More information about the thelist
mailing list