我创建的提交按钮不会触发,即使我在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>
或许我在这里只是采取了错误的方法。
答案 0 :(得分:1)
将您的按钮添加到自定义控件的Page_Init
或Page_Load
事件内的控件中,而不是在Render事件中执行此操作。
因为在回发后按钮点击事件将在Render
事件之前调用。
答案 1 :(得分:0)
实施 INamingContainer 以激活EventHandlers
http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx