我有一个表格数据,其中每行的最后一列添加了一个动态链接按钮。
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
根本没有被触发。
答案 0 :(得分:0)
您的问题是,您在加载网页时动态创建了LinkButton,而不是重新创建。
如果你动态创建一个控件然后在回发时,你不再创建它(在Page_Load
或最好在Page_Init
中),那么事件不会被触发。
解决此问题的一种方法是使用隐藏字段:
动态创建链接按钮时,请将特殊值设置为隐藏字段。
然后,在Page_Load
(在if (IsPostback)
中)检查隐藏字段,如果它具有特殊值,则再次重新创建所有这些控件。