繁体   English   中英

命令事件未触发asp.net来动态创建控件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM