gpt4 book ai didi

c# - 命令事件不会触发动态创建的控件的 asp.net

转载 作者:行者123 更新时间:2023-12-01 22:12:35 25 4
gpt4 key购买 nike

我有以下代码,可以在 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) 中,以便重新创建它,然后您就可以访问其事件。

除此之外,当我在页面中重新创建相同的控件时,上面的代码对我来说工作得很好。

关于c# - 命令事件不会触发动态创建的控件的 asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com