2012-05-05 55 views
2

我使用C#动态创建了两个单选按钮,但CheckedChange事件未触发。我使用下面的代码:动态单选按钮CheckedChanged事件不会触发

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 s,但那也不起作用。你能告诉我上面提供的代码片段有什么问题吗?

+0

我想你必须注册AsyncPostBackTrigger checkcked事件。但是你已经尝试过这一点了吗? – MUG4N

+0

是的你可以在上面的代码中看到它。 'enableTrigger.EventName =“CheckedChanged”;' – user1135357

+2

尝试为你的radion按钮设置AutoPostBack =“true”! – MUG4N

回答

2
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); 
相关问题