之前学了如何动态往panel里添加button以及事件。
简单的DEMO 动态的添加图片按钮,并添加点击事件
ImageButton jian = new ImageButton();
jian.ImageUrl = "~/picture01.png";
jian.Click += new ImageClickEventHandler(jian_Click);
p.Controls.Add(jian);
然后碰到了checkbox,本来以为应该也差不多,但是写了如下代码后居然没有反应
CheckBox cbox = new CheckBox();
cbox.Checked = true;
cbox.CheckedChanged+=cbox_change;
p.Controls.Add(cbox);
网上看了很多资源终于找到原因了。这个事件是发生在服务器端的,而我们点击完了checkbox后并没有把这个改变的值回传给服务器,所以修改如下就好使了:
CheckBox cbox = new CheckBox();
cbox.Checked = true;
cbox.AutoPostBack = true; //添加了这句话
cbox.CheckedChanged+=cbox_change;
p.Controls.Add(cbox);