0

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

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根本不会触发该事件。

4

1 回答 1

0

您的问题是您正在动态创建 LinkBut​​ton 而不是在加载页面时再次重新创建它

如果您动态创建一个控件,然后在回发时,您不会再次创建它(在Page_Load或最好在 中Page_Init),则不会触发该事件。

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

于 2012-11-25T08:40:51.067 回答