Я хочу добавить несколько динамических текстовых полей в таблицу, чтобы они вызывали событие.У меня нет проблем с созданием текстовых полей или доступа к информации о них, но они не хотят вызывать событие.
List<string> txtNames = new List<string>();
txtNames.Add("txtId");
txtNames.Add("txtName");
txtNames.Add("txtQty");
txtNames.Add("txtUnitPrice");
txtNames.Add("txtExtendedPrice");
Panel1.Controls.Add(new LiteralControl("\t<tr>\n"));
TextBox txt;
foreach (string s in txtNames)
{
txt = new TextBox();
txt.CopyBaseAttributes(Textbox1);
txt.Text = "";
txt.BorderWidth = 0;
txt.ID = s + row;
Panel1.Controls.Add(new LiteralControl("\t\t<td>"));
Panel1.Controls.Add(txt);
Panel1.Controls.Add(new LiteralControl("</td>\n"));
txt.AutoPostBack = true;
txt.TextChanged += new EventHandler(txt_TextChanged);
txt.Text = s;
count++;
}
Panel1.Controls.Add(new LiteralControl("\t</tr>\n"));
row++;
(панель находится внутри html-таблицы)
Этот код находится в функции, которая вызывается, когда страница не отправляется назад или когда нажимается кнопка для добавления строки текстовых полей.
Текстовые поля сохраняются в сеансе, а затем перезагружаются при загрузке страницы.
Я попытался создать тестовое текстовое поле, которое не было создано в цикле for и которое вызывает событие изменения текста.
Редактировать : я пытался повторно добавитьсобытие изменения текста при загрузке текстовых полей из сохраненного сеанса, и теперь они вызывают функцию.