提交不会在自定义WebControl(服务器控件)中触发

时间:2011-12-17 20:20:39

标签: c# asp.net-webcontrol

我创建的提交按钮不会触发,即使我在Visual Studio中设置了一个试图调试它的断点。

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);
    }
}

这样添加到页面

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

或许我在这里只是采取了错误的方法。

2 个答案:

答案 0 :(得分:1)

将您的按钮添加到自定义控件的Page_InitPage_Load事件内的控件中,而不是在Render事件中执行此操作。

因为在回发后按钮点击事件将在Render事件之前调用。

答案 1 :(得分:0)