ASP.NET动态生成的链接按钮单击事件未激发

本文关键字:事件 单击 按钮 链接 动态 NET ASP | 更新日期: 2023-09-27 18:22:23

我有一个可见性设置为false的面板。我试图做的是在我的页面生成时动态创建一个LinkButton,并拥有它,这样当我单击LinkButton时,面板的可见性就会设置为true,并显示在我的网页上。

我正在创建我的链接按钮,如下所示:

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

以下是我的LinkButton的Click事件处理程序的代码:

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

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

编辑:

我将链接按钮添加到页面的占位符中,如下所示:

PlaceHolder1.Controls.Add(_lb);

第2版:

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

ASP.NET动态生成的链接按钮单击事件未激发

由于您没有提到它在哪里,请将代码移动到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);
}