我需要为我动态生成的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属性未添加到链接按钮。请帮帮我这个家伙。我很紧张。
答案 0 :(得分:0)
您无需添加runat =“server”属性,因为这将自动完成。你已经分配了OnClick事件处理程序,所以你也应该在那里设置。
由于您是动态创建这些控件,因此请确保在回发后使用代码来重新生成LinkButton控件,否则不会触发事件处理程序。还要确保在回发后重新生成时分配相同的ID。
答案 1 :(得分:0)
我也遇到了同样的问题,即动态创建的超链接的onClick事件没有被触发。我错误地将动态创建超链接的代码放在“if(!IsPostBack)”中,并且每次都为超链接分配一个随机ID。因此,请尝试分配唯一ID并将代码保留在“if(!IsPostBack)”之外。会工作。