![](/img/trans.png)
[英]Checked event command binding on RadioButton doesn't work when the control is dynamically created
[英]Add control/event dynamically doesn't work
任何帮助,将不胜感激 -
这是我的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永远不会被调用。
我想念什么吗?
尝试为按钮指定一个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
}
给按钮一个ID,一切都会正常。
bUpdate.Id = "btnUpdate";
试试这个可能对你有帮助
bUpdate.Click += new System.EventHandler(this.bUpdate_OnClick);
protected void bUpdate_OnClick(object sender, EventArgs e) {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.