如何为动态链接按钮添加Onclick功能

本文关键字:添加 Onclick 功能 按钮 链接 动态 | 更新日期: 2023-09-27 18:05:43

我需要添加一个Onclick属性到我动态生成的LinkButton。怎么加呢?

这是我到目前为止遇到的代码:

 foreach(string i in List)//list has more than 50 data's
        {
            LinkButton link = new LinkButton();
            link.Text = topics;
            link.ID = topics;
            link.Attributes.Add("runat", "server");
            link.Click += new EventHandler(this.lnk_Click);
            div_ID.Controls.Add(link);
            div_ID.Controls.Add(new LiteralControl("<br />"));
         }
public void lnk_Click(object sender,EventArgs e)
{
    string ctrlId = ((Control)sender).ID;
    GMethod(ctrlId); //handles some function in which i pass the id of the particular lnk button
}

我可以从动态生成的LinkButton中调用lnk_Click。它的onclick属性没有被添加到链接按钮。请帮帮我,伙计们。我很着急

如何为动态链接按钮添加Onclick功能

您不需要添加runat="server"属性,因为这将自动完成。你已经分配了OnClick事件处理程序,所以你也应该在那里设置好。

由于您正在动态创建这些控件,因此请确保您有适当的代码来在回发后重新生成LinkButton控件,否则您的事件处理程序将不会触发。还要确保在回发后重新生成它时分配相同的id。

我还面临着同样的问题,即动态创建的超链接的onClick事件没有被触发。我犯了一个错误,将动态创建超链接的代码放在"if(!IsPostBack)"中,并且每次都为超链接分配一个随机id。所以,请尝试分配一个唯一的ID,并保持代码外面"if(!IsPostBack)"。将工作。