本文介绍了动态(以编程方式)添加复选框和checkedchanged事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在以编程方式添加几个复选框和事件处理程序时遇到了一点问题.复选框看起来都很好,但单击时它们不做任何事情.有谁知道我做错了什么?
I am having a bit of a problem adding a few check boxes and an event handler programatically. The check boxes all appear fine, but they don't do anything when clicked. Does anyone have any idea what I am doing wrong?
foreach (Statement i in theseStatements)
{
box = new CheckBox();
box.Text = i.StatementText;
box.AutoPostBack = true;
box.CheckedChanged += new EventHandler(this.CheckedChange);
PlaceHolder.Controls.Add(box);
}
protected void CheckedChange(object sender, EventArgs e)
{
CheckBox x = (CheckBox)sender;
Instructions.Text = "change";
WorkPlaceHazardsBox.Text += x.Text;
}
推荐答案
你应该做到以下几点:
- 为您在
foreach
循环中创建的每个CheckBox
实例设置ID
属性. - 对于 PostBacks,请确保已创建 CheckBox,并在页面生命周期的某个时间点附加
CheckedChanged
事件处理程序在引发控件事件之前
- Set the
ID
property for each instance ofCheckBox
you create in yourforeach
loop. - For PostBacks, ensure that your CheckBoxes are created and
CheckedChanged
event handler is attached at some point of the page life-cycle before control events are raised
这篇关于动态(以编程方式)添加复选框和checkedchanged事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!