动态创建的按钮未触发单击事件

本文关键字:单击 事件 创建 按钮 动态 | 更新日期: 2023-09-27 18:16:25

我正在创建动态控件,其中一个控件是按钮。我使用下面的代码来添加按钮控件。

Button btnContinue = new Button();
btnContinue.Attributes.Add("class", "button");
btnContinue.ID = "btnContinue";
btnContinue.Text = "Continue";
btnContinue.CausesValidation = false;
btnContinue.Click += new EventHandler(btnContinue_Click);                
lineAdd.Controls.Add(btnContinue);

按钮点击事件如下。

protected void btnContinue_Click(object sender, EventArgs e)
{
    ...
}

此事件未触发。知道为什么这不能触发事件吗。如果我说错了,请纠正我。

动态创建的按钮未触发单击事件

确保在页面生命周期的早期创建该按钮。查看如何在页面的OnInit中创建它。

这是因为事件处理事件发生在Page Init之后。当然,按钮必须在它上检测到事件之前创建。web表单的乐趣…

你必须在OnInit()方法中初始化动态创建的控件(参见MS kb post),否则页面将不考虑它。注意,该控件还必须在控件本身引起的回发期间创建。

尝试将UseSubmitBehavior属性设置为True