gpt4 book ai didi

c# - 在 UpdatePanel 上为动态添加的控件动态添加触发器

转载 作者:可可西里 更新时间:2023-11-01 09:08:08 25 4
gpt4 key购买 nike

我正在将数组按钮动态添加到位于更新面板中的简单面板,现在我想在这些按钮的单击事件上为 UpdatePanel 添加触发器。我的代码如下:

protected void AddButtons()
{
Button[] btn = new Button[a];
for (int q = 0; q < a; q++)
{

btn[q] = new Button();

buttonsPanel.Controls.Add(btn[q]);
btn[q].ID = "QID" + q;
btn[q].Click += new EventHandler(_Default_Click);
btn[q].Attributes.Add("OnClick", "Click(this)");

AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btn[q].ID;
trigger.EventName = "Click";
UpdatePanel2.Triggers.Add(trigger);
}
}

现在,当我点击这些按钮中的任何一个时,不会触发点击事件,并且按钮会被删除。

请注意,这些按钮在 Page_Init() 方法中不可用。

最佳答案

您需要将 UniqueID 而不是 ID 分配给 AsyncPostBackTrigger.ControlID 属性。尝试使用以下代码:

AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btn[q].UniqueID;
trigger.EventName = "Click";
UpdatePanel2.Triggers.Add(trigger);

关于c# - 在 UpdatePanel 上为动态添加的控件动态添加触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807988/

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