0

任何帮助,将不胜感激 -

这是我的 aspx 代码-

<div id="div_Detail" class="div_det" runat="server" />

在我后面的代码中 -

protected void Page_Load(object sender, EventArgs e) {
  LoadDetail();
}

private void LoadDetail() {
    HtmlTable tbl = new HtmlTable();
    HtmlTableRow row = new HtmlTableRow();
    HtmlTableCell cell = new HtmlTableCell();

    Button bUpdate = new Button();
    bUpdate.Text = "Update";
    bUpdate.Click += this.Update_Click;

    cell.Controls.Add(bUpdate);
    row.Cells.Add(cell);
    tbl.Rows.Add(row);
    div_Detail.Controls.Add(tbl);
}

private void Update_Click(object sender, EventArgs e) {
    //Do something
}

我在页面上看到带有正确文本的按钮。但是在单击该按钮时,Update_Click 永远不会被调用。

我错过了什么吗?

4

3 回答 3

2

尝试给按钮一个 id。.NET 引擎在回发期间需要控件上的 ID 以将控件与给定的事件委托相关联。

编辑:

此代码工作正常:

 protected void Page_Load(object sender, EventArgs e) {
        LoadDetail();
    }

    private void LoadDetail() {
        HtmlTable tbl = new HtmlTable();
        HtmlTableRow row = new HtmlTableRow();
        HtmlTableCell cell = new HtmlTableCell();

        Button bUpdate = new Button();
        bUpdate.Text = "Update";
        bUpdate.Click += this.Update_Click;
        bUpdate.ID = "btnID";

        cell.Controls.Add(bUpdate);
        row.Cells.Add(cell);
        tbl.Rows.Add(row);
        div_Detail.Controls.Add(tbl);
    }

    private void Update_Click(object sender, EventArgs e) {
        //Do something 
    } 
于 2012-07-10T13:19:24.383 回答
1

给按钮一个 ID,一切都会正常工作。

bUpdate.Id = "btnUpdate";

于 2012-07-10T13:22:52.283 回答
1

Try This one may help u

    bUpdate.Click += new System.EventHandler(this.bUpdate_OnClick);

protected void bUpdate_OnClick(object sender, EventArgs e) {


}
于 2012-07-10T14:42:48.363 回答