Capturing event from other custom control within another custom control

Capturing event from other custom control within another custom control

Post by Jonah Olss » Wed, 06 Apr 2005 20:08:38


Hello,

I'm trying to build an "add-on" to an already existing custom web user
control. The old control collects some user data and saves it to a database.
The new control should collect some extra info from the user and add it to a
new table in the database.

The old control should not be re-written (at least not now..), so I need a
way of capturing the click event of the Save button in the old control. This
event should trigger a function in the new control that saves the "add-on"
data.

Both controls are being added to the page at run-time and has the save level
(the new control is no child control to the old one).

Correct me if I'm wrong, but I can't use bubbling events since the new
control isn't a child control to the old control, right?

What should I do?

Thanks for any help!

Regards,
Jonah Olsson
 
 
 

Capturing event from other custom control within another custom control

Post by Brock Alle » Wed, 06 Apr 2005 21:38:56

> The old control should not be re-written (at least not now..), so I

Normally you shouldn't be handling events owned by another control. Typically
the custom control should raise its own events to publicize that something
has happened. So, the right approach would be to modify the custom control
to raise its own events.

Now, having said that, you could still probably make it work without modifying
the custom control. You just need to locate the Button control in the custom
control and handle its Click event. Event control has a collection of child
controls, so I could image some really ugly code to iterate over the child
controls collection of the custom control until the Button is located. Once
you have that reference then you should be all set.

-Brock
DevelopMentor
http://www.yqcomputer.com/

 
 
 

Capturing event from other custom control within another custom control

Post by Jonah Olss » Wed, 06 Apr 2005 21:56:49

Hi Brock and thanks for your reply!

I know this is not a nice way of solving the problem, but unfortunately it's
the only idea I had to make the new control "listen" to the old one since we
can't make changes to the old control at the moment :-(

Thanks,
Jonah