动态创建的控件的事件处理程序
本文关键字:程序 事件处理 控件 动态 创建 | 更新日期: 2023-09-27 18:34:48
我正在动态创建一个 asp.net RadioButton
并将其插入我的网页:
RadioButton rb = new RadioButton();
rb.ID = "rb" + ReportPKey;
rb.Text = "ReportName";
phUiControls.Controls.Add(rb);
我有以下方法:
protected void rb_CheckedChanged( object sender, EventArgs e )
{
// stuff
}
如何连接它,以便在单击rb
时触发rb_CheckedChanged
?
rb.CheckedChanged += rb_CheckedChanged
使用匿名委托执行此操作的一种方法(对于这些类型的方案是干净的(:
var rb = new RadioButton{ ID = "rb" + ReportPKey, Text = "ReportName" };
phUiControls.Controls.Add( rb );
rb.CheckedChanged += (sender, e) => {
// event handler code
};
或者(正如其他几个人指出的那样(:
rb.CheckedChanged += rb_CheckedChanged
在页面生命周期的上下文中:
protected override OnInit( EventArgs e ){
BuildDynamicControls();
base.OnInit( e );
}
private void BuildDynamicControls(){
var rb = new RadioButton{ ID = "rb" + ReportPKey, Text = "ReportName" };
phUiControls.Controls.Add( rb );
rb.CheckedChanged += (sender, e) => {
// event handler code
};
}
RadioButton rb = new RadioButton();
rb.ID = "rb"+ReportPKey;
rb.Text = ReportName ;
rb.CheckedChanged += rb_CheckedChanged
phUiControls.Controls.Add(rb);