2012-05-05 54 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); 
相關問題