Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom event not working when registered in an ASPX file

I am trying to register a custom event I added to a user control. I can do this in code behind, but not in the aspx file.

What am I doing wrong?

Thanks!

The user control:

public delegate void MemberSelectedEventHandler(object sender, string fullMemberName);

public partial class WebUserControl1 : System.Web.UI.UserControl
{
    public event MemberSelectedEventHandler OnMemberSelected;

    protected void Button_OnClick(object sender, EventArgs e)
    {
        if (OnMemberSelected != null)
        {
            OnMemberSelected(this, "Peter");
        }
    }
}

This works (code behind of aspx page):

MyMemberControl.OnMemberSelected += new MemberSelectedEventHandler(MyMemberControl_OnMemberSelected);

But this doesn't (aspx page):

<scn:MemberControl OnMemberSelected="MemberControl_OnMemberSelected"  runat="server" ID="MyMemberControl" />
like image 851
SaphuA Avatar asked Dec 05 '25 14:12

SaphuA


1 Answers

In the markup you need to prefix your event property with On so the page will know to register the event. Morzel had the answer though it's not stated explicitly.

<scn:MemberControl OnOnMemberSelected="MemberControl_OnMemberSelected"  runat="server" ID="MyMemberControl" />

OnOnMemberSelected should cause your handler to be invoked as expected.

like image 133
Armadous Avatar answered Dec 07 '25 02:12

Armadous