The problem when loading a web user control dynamicly
<p>The web user control: FilterLabel</p>

<pre><code>&lt;span style=" display:block; float:left; margin:5px; padding: 5px; border: 1px inset #000000; font-family: Tahoma; font-size: small;"&gt;
&lt;asp:Label ID="lblFilterDisplay" runat="server" Text="Product/Service: This is a testing"&gt;&lt;/asp:Label&gt;
&amp;nbsp;
&lt;asp:ImageButton ID="btnRemove" runat="server" ImageUrl="~/Images/remove.png" OnClick="btnRemove_Click" /&gt;
</code></pre>

<p></p>

<p>And the part of behind codes for this web user control:</p>

<pre><code>public event EventHandler RemoveClick;
......
public void btnRemove_Click(object sender, EventArgs e)
{
    if (RemoveClick != null)
        RemoveClick(this, EventArgs.Empty);
}
</code></pre>

<p>Next, the web user control "FilterLabel" will be used in another web user control "FilterList":</p>

<pre><code>&lt;%@ Register TagPrefix="uc" TagName="FilterLabel" Src="~/Controls/FilterLabel.ascx" %&gt;
&lt;asp:Panel ID="FilterList" runat="server" Width="100%" GroupingText="Filter List" CssClass="filterList"&gt;
&lt;/asp:Panel&gt;
</code></pre>

<p>And the part of behind codes of this web user control is:</p>

<pre><code>protected override void OnInit(EventArgs e)
{
    if (IsPostBack)
    {
        BindFilters();
    }

}

public void BindFilters()
{
    List&lt;FilterLabel&gt; filters = Filters;
    foreach (FilterLabel filter in filters)
    {
        FilterList.Controls.Add(filter);
    }
}

public List&lt;FilterLabel&gt; Filters
{
    get
    {
        List&lt;FilterLabel&gt; filters = Session["Filters"] as List&lt;FilterLabel&gt;;
        if (filters == null)
        {
            filters = new List&lt;FilterLabel&gt;();
        }
        return filters;
    }
}

public void AddFilter(string filterName, string filterContent, string filterValue = null)
{
    FilterLabel filter = LoadControl("~/Controls/FilterLabel.ascx") as FilterLabel;
    filter.ID = "Filter";
    filter.FilterContent = filterContent;
    filter.FilterName = filterName;
    filter.Value = filterValue;
    filter.RemoveClick += new EventHandler(RemoveFilter);
    List&lt;FilterLabel&gt; filters = Filters;
    filters.Add(filter);
    Session["Filters"] = filters;
    BindFilters();
}

private void RemoveFilter(object sender, EventArgs e)
{
    //some handling codes
}
</code></pre>

<p>So now the problem is the btnRemove_Click event isn't activated when I click the image button "btnRemove". </p>
