2012-05-05 2 views
2

Я создаю два переключателя динамически с C#, но событие CheckedChange не запускается. Я использую следующий код:Dynamic Radio Button 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, но это тоже не сработало. Не могли бы вы рассказать мне, что может быть проблемой с приведенным выше фрагментом кода?

+0

Думаю, вам нужно зарегистрировать AsyncPostBackTrigger для событий checkchanged. Но вы уже пробовали это уже правильно? – MUG4N

+0

Да, вы можете увидеть его в коде выше. 'enableTrigger.EventName =" CheckedChanged ";' – user1135357

+2

попробуйте установить AutoPostBack = "true" для ваших кнопок radion! – 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); 
Смежные вопросы