如何将Onclick函数添加到动态LinkBut​​ton?

时间:2011-08-15 15:08:33

标签: c# asp.net dynamic onclick linkbutton

我需要为我动态生成的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
}

我可以在动态生成lnk_Click上调用此LinkButton。其onclick属性未添加到链接按钮。请帮帮我这个家伙。我很紧张。

2 个答案:

答案 0 :(得分:0)

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

由于您是动态创建这些控件,因此请确保在回发后使用代码来重新生成LinkBut​​ton控件,否则不会触发事件处理程序。还要确保在回发后重新生成时分配相同的ID。

答案 1 :(得分:0)

我也遇到了同样的问题,即动态创建的超链接的onClick事件没有被触发。我错误地将动态创建超链接的代码放在“if(!IsPostBack)”中,并且每次都为超链接分配一个随机ID。因此,请尝试分配唯一ID并将代码保留在“if(!IsPostBack)”之外。会工作。