[英]Command event not firing asp.net for dynamically created control
我有以下代码在li html标签上动态创建图像按钮。 当我单击图像按钮时,不会触发该事件。 请问我做错了什么?
生成控件的代码:
ImageButton cmdEdit = new ImageButton();
cmdEdit.ImageUrl = "~/Images/phone_book_edit.png";
cmdEdit.ID = "cmdEdit" + recordcount.ToString();
cmdEdit.Attributes["class"] = "liQuestionsLabel2";
cmdEdit.Width = 30;
cmdEdit.CommandName = "Edit";
cmdEdit.CommandArgument = (recordcount - 1).ToString();
cmdEdit.Command += new CommandEventHandler(EditQuestion_Command);
li.Controls.Add(cmdEdit);
事件代码:
protected void EditQuestion_Command(object sender, CommandEventArgs e)
{
Response.Write("here");
}
动态生成的控件在呈现后会丢失其状态。 为了使您在回发后再次访问它们,您将必须在背后的代码中重新创建它们,并重新创建附加的事件。
将上面的代码放在Page_Load
而不要放在if(!IsPostback)
以便重新创建它,然后可以访问其事件。
除此之外,当我在页面中重新创建相同的控件时,上述代码对我来说很好用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.