0

The submit button I create doesn't fire, not even if i set a breakpoint in Visual Studio trying to debug it.

public class CustomControl : WebControl
{
    protected override void Render(HtmlTextWriter writer)
    {
        // Submit
        var submitButton = new Button{Text = "Submit", ID = "SubmitButton"};
        submitButton.Click += new EventHandler(SubmitClick);
        Controls.Add(submitButton);

        base.Render(writer);
    }

    protected void SubmitClick(object sender, EventArgs e)
    {
        Controls.Add(new LiteralControl("submited"));
        OnSubmit(EventArgs.Empty);
    }
}

It's added like this to the page

<form id="form1" runat="server">
    <MyControls:CustomControl runat="server" />
</form>

Or maybe I'm just having the wrong approach here.

Eric Herlitz
  • 25,354
  • 27
  • 113
  • 157

2 Answers2

1

Add your button to the control inside the Page_Init or Page_Load event of the custom control instead of doing it in Render event.

Because after post back button click event would be called before the Render event.

Waqas Raja
  • 10,802
  • 4
  • 33
  • 38
0

Implement INamingContainer to activate EventHandlers

http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx

Eric Herlitz
  • 25,354
  • 27
  • 113
  • 157