动态创建按钮不触发Click事件

时间:2011-11-30 10:40:45

标签: c# asp.net

我正在创建动态控件,因为一个控件是一个按钮。 我使用以下代码添加按钮控件。

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)
{
    ...
}

此事件未触发。知道为什么这不是解雇事件。如果我错了,请纠正我。

先谢谢。

3 个答案:

答案 0 :(得分:2)

确保您在页面生命周期中尽早创建该按钮。看看它是否创建了页面的OnInit。

这是因为事件处理事件发生在Page Init之后。当然,必须在可以在其上检测到事件之前创建按钮。网络形式的快乐......

答案 1 :(得分:1)

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

答案 2 :(得分:0)

尝试将UseSubmitBehavior属性设置为True。