2

我正在动态创建一个 asp.netRadioButton并将其插入到我的网页中:

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_CheckedChanged时触发rb

4

3 回答 3

1

使用匿名委托的一种方法(适用于这些类型的场景):

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
    };
}
于 2012-05-18T17:56:10.417 回答
1
rb.CheckedChanged += rb_CheckedChanged
于 2012-05-18T17:56:38.703 回答
0
RadioButton rb = new RadioButton();
rb.ID  = "rb"+ReportPKey;
rb.Text = ReportName  ;
rb.CheckedChanged += rb_CheckedChanged
phUiControls.Controls.Add(rb);
于 2012-05-18T17:56:30.433 回答