任何帮助将不胜感激 -
这是我的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永远不会被调用。
我错过了什么吗?
答案 0 :(得分: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
}
答案 1 :(得分:1)
给按钮一个Id,一切都会正常。
bUpdate.Id = "btnUpdate";
答案 2 :(得分:1)
尝试这个可以帮助你
bUpdate.Click += new System.EventHandler(this.bUpdate_OnClick);
protected void bUpdate_OnClick(object sender, EventArgs e) {
}