c# - 动态单选按钮 CheckedChanged 事件不会触发

标签 c# asp.net updatepanel dynamic-controls

我正在使用 C# 动态创建两个单选按钮,但 CheckedChange 事件未触发。我正在使用以下代码:

RadioButton enable = new RadioButton();
enable.ID = "enable";
enable.Text = "Enable";
enable.GroupName = "enableDisableGroup";
enable.CheckedChanged += new EventHandler(enableRadioButton_CheckedChanged);

RadioButton disable = new RadioButton();
disable.ID = "disable";
disable.Text = "Disable";
disable.GroupName = "enableDisableGroup";
disable.CheckedChanged += new EventHandler(disableRadioButton_CheckedChanged);

UpdatePanel upEnableDisable = new UpdatePanel();
upEnableDisable.UpdateMode = UpdatePanelUpdateMode.Conditional;
upEnableDisable.ContentTemplateContainer.Controls.Add(enable);
upEnableDisable.ContentTemplateContainer.Controls.Add(disable);

AsyncPostBackTrigger enableTrigger = new AsyncPostBackTrigger();
enableTrigger.ControlID = enable.ID;
enableTrigger.EventName = "CheckedChanged";
upEnableDisable.Triggers.Add(enableTrigger);
AsyncPostBackTrigger disableTrigger = new AsyncPostBackTrigger();
disableTrigger.ControlID = disable.ID;
disableTrigger.EventName = "CheckedChanged";
upEnableDisable.Triggers.Add(disableTrigger);

mainDiv.Controls.Add(upEnableDisable);

创建单选按钮后,我将 Checked Changed 事件与它们关联起来。然后我将它们放入 UpdatePanel 中。我还尝试创建两个 AsyncPostBackTrigger 但也不起作用。您能告诉我上面提供的代码片段有什么问题吗?

最佳答案

RadioButton enable = new RadioButton();
enable.ID = "enable";
enable.Text = "Enable";
enable.AutoPostBack = true;
enable.GroupName = "enableDisableGroup";
enable.CheckedChanged += new EventHandler(enableRadioButton_CheckedChanged);

RadioButton disable = new RadioButton();
disable.ID = "disable";
disable.Text = "Disable";
disable.AutoPostBack = true;
disable.GroupName = "enableDisableGroup";
disable.CheckedChanged += new EventHandler(disableRadioButton_CheckedChanged);

UpdatePanel upEnableDisable = new UpdatePanel();
upEnableDisable.UpdateMode = UpdatePanelUpdateMode.Conditional;
upEnableDisable.ContentTemplateContainer.Controls.Add(enable);
upEnableDisable.ContentTemplateContainer.Controls.Add(disable);

AsyncPostBackTrigger enableTrigger = new AsyncPostBackTrigger();
enableTrigger.ControlID = enable.ID;
enableTrigger.EventName = "CheckedChanged";
upEnableDisable.Triggers.Add(enableTrigger);
AsyncPostBackTrigger disableTrigger = new AsyncPostBackTrigger();
disableTrigger.ControlID = disable.ID;
disableTrigger.EventName = "CheckedChanged";
upEnableDisable.Triggers.Add(disableTrigger);

mainDiv.Controls.Add(upEnableDisable);

关于c# - 动态单选按钮 CheckedChanged 事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10462504/

相关文章:

c# - 如何正确关闭网络流连接?

c# - Facebook C# 使用多查询的结果

c# - 将背景图像导入/设置到 Windows 窗体导致运行缓慢

javascript - 如何在客户端使用ImageMap可点击区域?

c# - 我可以像在 asp.net mvc 中那样在 Webforms 项目中创建 html 助手吗?

c# - 如何使用 Gmail 的 SMTP 客户端在 C# 中向自己发送电子邮件,而无需在 Gmail 设置中启用对安全性较低的应用程序的访问?

asp.net - 加载特定 UpdatePanel 后如何调用客户端 javascript 函数

c# - 我该如何修复 : Access to foreach variable in closure resharper warning?

c# - 嵌套 UpdatePanel 中的下拉列表

jquery - 动态生成控件