Добрый день.
Проблема следующая... На форме есть DropDownList и таблица:
<asp:DropDownList ID="DisciplineList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DisciplineList_SelectedIndexChanged">
</asp:DropDownList>
<asp:Table ID="Table1" runat="server" Width="100%">
</asp:Table>
Таблица заполняется в обработчике
DisciplineList_SelectedIndexChanged, причем один из столбцов таблицы — это кнопки для удаления соответствующей строки:
tc6 = new TableCell();
Button btnCtrl = new Button();
btnCtrl.Text = "Удалить";
btnCtrl.ID = "btnDelete_" + RowIDString;
btnCtrl.Command += OnDeleteClick;
tc6.Controls.Add(btnCtrl);
Но обработчик
OnDeleteClick не вызывается. Как нужно правильно сделать?
Здравствуйте, Zugma, Вы писали:
Z>Добрый день.
Z>Проблема следующая... На форме есть DropDownList и таблица:
Z>Z><asp:DropDownList ID="DisciplineList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DisciplineList_SelectedIndexChanged">
Z></asp:DropDownList>
Z><asp:Table ID="Table1" runat="server" Width="100%">
Z></asp:Table>
Z>
Z>Таблица заполняется в обработчике DisciplineList_SelectedIndexChanged, причем один из столбцов таблицы — это кнопки для удаления соответствующей строки:
Z>Z>tc6 = new TableCell();
Z>Button btnCtrl = new Button();
Z>btnCtrl.Text = "Удалить";
Z>btnCtrl.ID = "btnDelete_" + RowIDString;
Z>btnCtrl.Command += OnDeleteClick;
Z>tc6.Controls.Add(btnCtrl);
Z>
Z>Но обработчик OnDeleteClick не вызывается. Как нужно правильно сделать?
Нужно восстановить состояние таблицы и подписаться на событие в Page_Load, до того, как произойдет это событие. Так как таблица генерируется динамически, при postback'е ее уже не будет существовать.
Хотя мне не понятно зачем строить таблицу вручную, если есть стандартный GridView, где большинство вещей уже реализовано.