【发布时间】:2012-05-05 13:51:56
【问题描述】:
我正在使用 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 事件与它们相关联。然后我将这些放在更新面板中。我还尝试创建两个AsyncPostBackTriggers,但这也没有用。你能告诉我上面提供的代码 sn-p 有什么问题吗?
【问题讨论】:
-
我认为您必须为 checkchanged 事件注册 AsyncPostBackTrigger。但是您已经尝试过了,对吗?
-
是的,您可以在上面的代码中看到它。
enableTrigger.EventName = "CheckedChanged"; -
尝试为您的单选按钮设置 AutoPostBack="true"!
标签: c# asp.net updatepanel dynamic-controls