all groups > asp.net building controls > december 2006 >
You're in the

asp.net building controls

group:

Keeping 2 user controls of the same class synced


Keeping 2 user controls of the same class synced yashgt NO[at]SPAM gmail.com
12/14/2006 9:42:58 PM
asp.net building controls:
On a page, I need to show one item at a time. The top of the page has a
Previous-Next control, followed by the item being shown, followed by
another Previous-Next control. I have created a P-N user control and
customized it to fire an event, OnChange, when a Previous or Next
button is clicked, which is handled by the containing page. The handler
takes the ID of the current item from the eventargs and displays the
proper item with the ID in the center. But In addition, I want the
other P-N control also to reach the same state as the one that fired
the event. So the CurrentID property of both the P-N controls would be
the same.
Any design suggestions?

Thanks,
Yash
Re: Keeping 2 user controls of the same class synced Laurent Bugnion
12/15/2006 12:00:00 AM
Hi,

[quoted text, click to view]

Since your user control fires an event OnChange, have the other user
control register that very event. Of course, that means that the target
user control must have knowledge of the event's definition, but that's
the case anyway since both are of the same class (as per your subject line).

Other ways would be using a listener pattern, having the target UC
register at the source UC for changes. When a change occurs, the source
UC loops through all the registered listeners and calls a method on
them. The method is defined in an interface IListener (or whatever ;-),
which introduces only a loose relationship between the two user controls.

HTH,
Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
AddThis Social Bookmark Button