Не вызывается Button.Command
От: Zugma  
Дата: 11.05.07 16:57
Оценка:
Добрый день.
Проблема следующая... На форме есть 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 не вызывается. Как нужно правильно сделать?
Re: Не вызывается Button.Command
От: aloneguid  
Дата: 11.05.07 23:21
Оценка:
Здравствуйте, 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, где большинство вещей уже реализовано.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.