使用服务器端事件处理程序以编程方式创建链接按钮

本文关键字:方式 创建 链接 按钮 编程 服务器端 事件处理 程序 | 更新日期: 2023-09-27 17:56:56

我正在尝试创建多个 LinkButton 并将然后连接到服务器上的单个事件处理程序。链接按钮呈现良好,但是当我检查渲染的html时,没有__doPostBack;

这是我的代码:

LinkButton lb = new LinkButton();                        
lb.ID = "index" + loopIndex;
lb.Text = "click me";
lb.Click += new EventHandler(lb_Click);
lb.RenderControl(writer);

当然还有事件处理程序:

void lb_Click(object sender, EventArgs e)
{
}

考虑到这是在PageLoad中并且在一个循环中。

使用服务器端事件处理程序以编程方式创建链接按钮

我认为问题出在lb.RenderControl(writer);,如果您使用form1.Controls.Add(lb);它将起作用。

原因:由于您将控件呈现为 HTML 编写器,并且 HTML 已添加到输出中,并且没有事件处理程序工作!!