How to force the child controls OnClick event before the parent controls CreateChildControls method

A

Arulraja

Hello,

I have created 2 custom server controls, The parent custom control
contains multiple child custom controls. The Child control has a
button on it.
If I Click the button control, it calls the Parent controls
CreateChildControls() method before calling the child control's button
click event.

Because of this behaviour, I am not getting the changes I made in the
child controls button click event.

I think I am doing something wrong with the event handling?

Can somebody point to the right way of ahndling the child controls
Events?

Thanks
Sam
 
W

William F. Robertson, Jr.

The CreateChildControls method must be called before the child's event is
"called", otherwise there will be no control to raise the event
notification.

Are you wanting to bubble the event up to the consumer?

Are you just wanted to handle the event from the control only?

bill
 
A

Arulraja

Hi Bill,

Thanks for the response. Actually I want to handle the event from the
control.
During that process I validate the user entered values, after that I
want to render the changes to the page.(That is calling the
CreateChildControls method).

But, right now the CreateChildControls method gets fired before the
OnClick event so I am not able to force the CreateChildControls
method after the onClick event.

Is there anyway I can force the CreateChildControls method call after
the onClick event.

Thanks for your help. Really appreciate that.

-Sam
 
W

William F. Robertson, Jr.

I might not be speaking in complete truths here, but if you call
Controls.Clear, and then set the ChildControlsCreated to false.

But from what I understand you want to do, you should just call the
CreateChildControls() explicitly from the event and the controls will be
recreated.

On the second call the CreateChildControls, make sure you call
Controls.Clear().

bill
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top