Метод не срабатывает в C#
- Привет! Я составляю список с динамически добавляемыми атрибутами, включая кнопку удаления для каждой строки в ASP.NET веб-приложение.
private void GenerateRow() { ctr += 1; TableRow row = new TableRow(); TableCell cell = new TableCell(); TableCell cell1 = new TableCell(); Button removeButton = createDeleteButton(); TextBox tb = new TextBox(); tb.ID = "TextBoxRow_" + ctr; tb.Width = 80; removeButton.ID = "RemoveButton" + ctr; cell.Controls.Add(tb); cell1.Controls.Add(removeButton); row.Cells.Add(cell); row.Cells.Add(cell1); table.Rows.Add(row); Session["table"] = table; ViewState["ctr"] = ctr; }
Этот метод вызывает метод createDeleteButton() :
private Button createDeleteButton() { int rowToDelete = ctr; Button deleteBtn = new Button(); deleteBtn.Text = "x"; deleteBtn.Click += (s, e) => RemoveRow(rowToDelete); return deleteBtn; }
И этот метод * * должен * * вызывать RemoveRow(int specificRow), чего он не делает:
protected void RemoveRow(int specificRow) { TableRow rw = table.Rows[specificRow]; table.Rows.Remove(rw); ctr--; Session["table"] = table; ViewState["ctr"] = ctr; }
Есть мысли?
Что я уже пробовал:
Я попытался исправить эту проблему с помощью функции page_load, которая заставила меня сделать несколько перерывов на кофе.
F-ES Sitecore
После повторного создания таблицы в page_load вы должны повторно прикрепить все события щелчка.