I am using a user control that I created (just a .cs file not an .ascx file), that does some magic and depending on a value generated by the control, I need it to do something on the parent page that is ‘hosting’ the control. It needs to call a method under certain circumstances (method is on the parent control).
the control is placed on the parent page like so:
<customtag:MyControl ID="something" runat="server" />
I’m dynamically creating buttons etc on the control itself but when a button is clicked, let’s say for example that there’s a text box on the control and if the value of the textbox is “bob” it needs to call a method on the page that’s housing the control…how can I accomplish this?
You could do what casperOne suggested, but I wouldn’t advise it. This is tightly coupling your user control to your parent page, which kind of defeats the purpose of a user control.
Personally, I’d add an event to the user control (say,
ButtonClicked) that the parent page can handle. In the event handler in your parent, deal with the event however you see fit. This way you can plug the user control into a different page at a later date and not have to worry about logic in the user control that requires a specific kind of parent page.