Re: Dynamic WebControl events...
Ryan Heath <[email protected]>
| Newsgroups | gmane.comp.windows.devel.dotnet.web |
|---|---|
| Message-ID | <[email protected]> |
To backup Paul, if you add a control in the PreRender event, you will
not receive its events at postback.
Simply because, at postback, the time the control events are raised,
the methods that will handle the control events are not bounded yet,
since you would have bound the method at the PreRender event ...
protected void Page_PreRender(object sender, EventArgs e)
{
CheckBox cb = new CheckBox();
cb.ID = "test";
cb.Text = "Click Here!";
cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
this.Form.Controls.Add(cb);
}
void cb_CheckedChanged(object sender, EventArgs e)
{
//is never called!
}
The order of page events are, partially,
- init
- load
- change evts
- click evts
- prerender
Normally, creating and binding a control is ok with in the load event,
but the Checkbox, in particular, needs to be created even before the
load event...
// Ryan
On 2/14/07, Efran Cobisi <[email protected]> wrote:
> This is incorrect.
> Control's life cycle begins after they have been added to their parent
> controls; so, even if you add a Control to another Controls collection
> in the Page PreRender event, it will still fire its postback events...
> As Stacey pointed out, setting the AutoPostback property to true will
> solve this problem.
>
> HTH,
>
> Efran Cobisi
> http://www.cobisi.com
>
> Paul van Brenk wrote:
> > You should create the checkbox in the Init event... on the postback the
> > checkbox is created after the events are handled (ie. Too late).
> >
> > Paul
> >
> > -----Original Message-----
> > From: Discussion of building .NET applications targeted for the Web
> > [mailto:[email protected]] On Behalf Of Mike Andrews
> > Sent: Wednesday, February 14, 2007 16:51
> > To: [email protected]
> > Subject: [DOTNET-WEB] Dynamic WebControl events...
> >
> > Guys,
> >
> > I'm having problems getting an aspx page to process an event for a
> > control,
> > namely a checkbox, that was dynamically created and added to the form.
> > Any suggestions?
> >
> > Thanks,
> > Mike
> >
> > Here's a sample of the code:
> >
> > protected void Page_Load(object sender, EventArgs e) {
> >
> > CheckBox cb = new CheckBox();
> > cb.ID = "test";
> > cb.Text = "Click Here!";
> > cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
> > this.Form.Controls.Add(cb);
> >
> > }
> >
> > void cb_CheckedChanged(object sender, EventArgs e) {
> > //Do something here
> > }
> >
> > ===================================
> > This list is hosted by DevelopMentor(r) http://www.develop.com
> >
> > View archives and manage your subscription(s) at
> > http://discuss.develop.com
> >
> > ===================================
> > This list is hosted by DevelopMentor(r) http://www.develop.com
> >
> > View archives and manage your subscription(s) at http://discuss.develop.com
> >
>
> ===================================
> This list is hosted by DevelopMentor(r) http://www.develop.com
>
> View archives and manage your subscription(s) at http://discuss.develop.com
>
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com