0

我创建的提交按钮不会触发,即使我在 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>

或者,也许我只是在这里采用了错误的方法。

4

2 回答 2

1

将您的按钮添加到自定义控件的Page_InitorPage_Load事件中的控件,而不是在 Render 事件中进行。

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

于 2011-12-17T20:33:11.883 回答
0

实现INamingContainer以激活 EventHandlers

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

于 2012-01-18T18:11:18.797 回答