在asp.net中,我们可以动态的添加控件,同时,还能动态添加该控件的事件代码,让其不仅能动态生成,还能执行相应的代码。
方法如下
①动态生成控件的代码
CheckBoxList Mycb = new CheckBoxList();//显示选项多选题
Mycb.EnableViewState = true;
Mycb.ID = "Mycb";
Mycb.RepeatColumns = 4;
Mycb.RepeatDirection = RepeatDirection.Horizontal;
Mycb.RepeatLayout = RepeatLayout.Flow;
Mycb.TextAlign = TextAlign.Left;//文字显示在控件左边
Mycb.SelectedIndexChanged += new EventHandler(Mycb_SelectedIndexChanged);
this.Panel1.Controls.Add(Mycb);
注意哦,上面的代码,添加动态事件的语句是:Mycb.SelectedIndexChanged += new EventHandler(Mycb_SelectedIndexChanged); 这个就相当重要了,没有这行就完完了。
②添加控件的动态代码事件函数
void Mycb_SelectedIndexChanged(object sender, EventArgs e)//动态CheckBoxList的动态事件代码
{
//用来处于动态控件的事件代码就放在该位置,代码与平时的代码完全一样,没差别。
}
注意看清楚了吗,Mycb.SelectedIndexChanged += new EventHandler(Mycb_SelectedIndexChanged);这一行代码用来定义事件名称。void Mycb_SelectedIndexChanged(object sender, EventArgs e)这一行就是事件代码的函数名称,两者相互呼应。