Asp.net 动态链接按钮不引发事件



我有一个表格数据,其中每行的最后一列都添加了动态链接按钮。

LinkButton link = new LinkButton();
link.Text = "Edit";
link.ID = dt.Rows[dt.Rows.IndexOf(dtRow)][0].ToString() + "|" + dt.Rows[dt.Rows.IndexOf(dtRow)][1].ToString();
link.ClientIDMode = System.Web.UI.ClientIDMode.AutoID;
cell.Controls.Add(link);
link.Click += new EventHandler(EditClicked);

将显示编辑链接,单击时也会回发 但是事件EditClicked根本没有触发。

您的问题是您正在动态创建 LinkButton,并且在加载页面时不会再次重新创建它。

如果动态创建控件,

然后在回发时创建控件,则不会再次创建它(在Page_Load中或最好在Page_Init中),则不会触发事件。

解决此问题的一种方法是使用隐藏字段:
动态创建链接按钮时,请为隐藏字段设置特殊值。然后,在Page_Load(在if (IsPostback))中检查隐藏字段,如果它具有特殊值 - 再次重新创建所有这些控件。

相关内容

  • 没有找到相关文章

最新更新