我阅读所有相关的帖子,但仍然无法理解目前面临的概率。Oninit我创建表格与文本框如下,当我分配一个ID文本框textchanged事件不会触发,但是当我不分配ID时它会触发。无法理解为什么。请帮助。动态创建的文本框的ontextchanged事件不会触发时分配ID
protected override void OnInit(EventArgs e)
{
PopulateTextBoxes();
base.OnInit(e);
}
protected void PopulateTextBoxes()
{
int quantityRequired = 0;
quantityRequired =GetQuantity();
for (int j = 0; j < quantityRequired; j++)
{
TableRow row = new TableRow();
TableCell cell1 = new TableCell();
TextBox tb = new TextBox();
//tb.ID = j.ToString() +":RowTbx";---> this when uncommented does not fire my tb_textChanged event while left commented the textchanged event is fired. Cant understand why? How is assigning an ID affect event Firing, I need to have the ID to further update my Db.
tb.AutoPostBack = true;
tb.TextChanged += new EventHandler(tb_TextChanged);
cell1.Controls.Add(tb);
row.Cells.Add(cell1);
TableCell cell2 = new TableCell();
CheckBox chBox = new CheckBox();
chBox.CheckedChanged += new EventHandler(chBox_CheckedChanged);
chBox.AutoPostBack = true;
cell2.Controls.Add(chBox);
row.Cells.Add(cell2);
TableCell cell3 = new TableCell();
Image img = new Image();
img.Width = Unit.Pixel(25);
img.Height = Unit.Pixel(25);
img.ImageUrl = "HttpRuntime.AppDomainAppVirtualPath" + "/Images/" +"img.jpeg";
cell3.Controls.Add(img);
row.Cells.Add(cell3);
tbl_Serial.Rows.Add(row);
}
}
private void tb_TextChanged(object sender, EventArgs e)
{
// TODO: Implement this method
//throw new NotImplementedException();
}
谢谢
不要忘记标记正确的答案。它可以帮助其他人。 – 2013-02-13 06:01:38