ASP.NET动态生成的Linkbutton Click事件未触发

时间:2014-09-17 14:52:43

标签: c# asp.net

我有一个面板,其可见性设置为false。我正在尝试做的是在我的页面生成时动态创建一个LinkBut​​ton,并且当我单击LinkBut​​ton,面板时会这样做。 visibility设置为true并显示在我的页面上。

我像这样创建我的LinkBut​​ton:

LinkButton _lb = new LinkButton();
_lb.Text = "Details";
_lb.Click += _lb_Click;

以下是我的LinkBut​​ton的Click事件处理程序的代码:

protected void _lb_Click(object sender, EventArgs e)
{
      Panel1.Visible = true;
}

每当我渲染页面并单击LinkBut​​ton时,事件永远不会触发。我可以在事件处理程序中放置一个断点,它永远不会到达。我错过了什么?

编辑:

我将LinkBut​​ton添加到占位符中的页面,如下所示:

PlaceHolder1.Controls.Add(_lb);

EDIT2:

感谢大家到目前为止的回复。似乎问题肯定与生命周期有关。要添加详细信息,LinkBut​​ton是在控制UpdatePanel更新的Timer_Tick事件内创建的。我不知道如何在Page_Load中创建LinkBut​​ton并将其传递给Timer_Tick事件。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

由于您没有提及它的位置,请将您的代码移至Page_Load

protected void Page_Load(object sender, System.EventArgs e)
{
    LinkButton _lb = new LinkButton();
    _lb.Text = "Details";
    _lb.Click += _lb_Click;
    PlaceHolder1.Controls.Add(_lb);
}