Я создаю servercontrol для ASP.Net. За то короткое и точное я просто перечислить вещи я делаю:ASP.NET EventHandling
(1) Вызов EnsureChildControls в OnInit
(2) Создание динамической таблицы в CreateChildControls:
Table aTable = new Table();
aTable.ID = this.ID + "$" + T;
TableRow aRow = new TableRow();
aRow.ID = aTable.ID + "$R" + <COUNTER>.ToString();
TableCell aCell = new TableCell();
createLinkButton(row, col, caption, aCell, aRow.ID);
this.Controls.Add(aTable);
(3) Have функция, как:
void aLinkButton_Command(object sender, CommandEventArgs e)
{
// Some stuff
return;
}
(4) есть функции, как:
void createLinkButton(int row, int col, string caption, TableCell aCell, string baseID) {
LinkButton lb = new LinkButton();
lb.ID = baseID + "$" + row.ToString() + col.ToString();
lb.Command += new CommandEventHandler(aLinkButton_Command);
lb.Text = caption;
lb.CommandName = "<command>";
aCell.Controls.Add(lb);
return;
}
Но: Событие никогда не называется. Href исправляется для обратной передачи, но проводное событие никогда не запускается.
Нет идей больше :(
Любые идеи
Hi, Я переработал OnInit и назвал EnsureChildControls. Это должно гарантировать, что элементы управления будут воссозданы при обратной передаче, не так ли? Sascha – Sascha
Нет ... Я не верю, что это должно гарантировать это. – Cerebrus
Насколько я понимаю, EnsureChildControls определяет, содержит ли элемент управления childcontrols, если он не создаст их. Как бы вы гарантировали создание, если не используете эту функцию? – Sascha