我已经创建了向导控件,在此我创建了转发器控件。这个转发器控件有三个单选按钮。所有都是动态创建的。我想触发一个单选按钮checkedchange事件。
找到代码:
**Panel objPanel = (Panel)Wizard1.WizardSteps[Wizard1.ActiveStepIndex].Controls[5];
Repeater reptrAddQuestion = new Repeater();
reptrAddQuestion.ID = "reptrAddQuestion" + (count-1);
string[] obj = new string[2];
reptrAddQuestion.Visible = true;
reptrAddQuestion.DataSource = obj;
reptrAddQuestion.DataBind();
reptrAddQuestion.EnableViewState = true;
int controlIdValue = (count - 1) + 1;
for (int index = 0; index <= reptrAddQuestion.Items.Count - 1; index++)
{
RadioButton RdoBtn = new RadioButton();
RdoBtn.AutoPostBack = true;
RdoBtn.ID = "RdoBtn" + controlIdValue.ToString();
RdoBtn.CheckedChanged += new System.EventHandler(RdoBtn_CheckedChanged);
RdoBtn.EnableViewState = true;
reptrAddQuestion.Controls.Add(RdoBtn);
controlIdValue += 1;
}
objPanel.Visible = true;
objPanel.Controls.Add(reptrAddQuestion);**
public void RdoBtn_CheckedChanged(object sender, EventArgs e)
{
}
感谢您的帮助。 问候, Devathidhan.S
答案 0 :(得分:0)
这取决于您创建控件的Web Page life cycle的哪个部分。
如果您希望控件处理回发和事件,则必须在“OnInit”或“OnPreInit”功能页面中创建它们。
如果您在Page_Load或更高版本上创建这些控件,则为时已晚。控件不会触发事件或保存用户更改,因为此时已经处理了回发信息。
答案 1 :(得分:0)
尝试将复选框的AutoPostBack属性设置为true。如果这不能解决问题,那么这可能是生命周期问题,正如安德鲁所说。