Как получить дескриптор к динамической кнопке изображения в обратной передаче ajax панели - PullRequest
1 голос
/ 15 мая 2009

Я записываю кнопку изображения в ячейку таблицы в новой строке, когда пользователь выбирает элемент в списке:

ImageButton imgbtnRemove = new ImageButton();
imgbtnRemove.ID = "uxStandardLetterDeleteImage_" + items.letterName;
imgbtnRemove.CommandName = "uxStandardLetterDeleteImage_" + items.letterName;
imgbtnRemove.ImageUrl = items.remove;
imgStatus.AlternateText = "Remove";
tRow.Cells[3].Controls.Add(imgbtnRemove);

Когда нажимается новая кнопка с изображением, я не могу понять, как с ней справиться. Я вижу это в событии Page_PreRender, где я также перезагружаю таблицу при каждой обратной передаче.

string returnData = Request.Form.ToString();

, но итерация по изображениям формы управления:

if (c is System.Web.UI.WebControls.Button ||
c is System.Web.UI.WebControls.ImageButton)

не находит его. Я могу найти его, если я введу вручную:

imgbtnRemove.Click += new System.Web.UI.ImageClickEventHandler(this.ButtonClick);

в Page_Load и затем захватите его в событии щелчка:

switch (((System.Web.UI.WebControls.ImageButton)sender).CommandName)
...

но поскольку добавляются и удаляются новые строки, это становится довольно уродливым программно. Я думаю, что должно быть элегантное решение для динамического создания и извлечения кнопок на лету из кода на стороне сервера. Я много копал, но этот тупит меня.

Заранее спасибо ...

1 Ответ

2 голосов
/ 15 мая 2009

Если вы создаете динамические элементы управления на этапе обработки события жизненного цикла страницы (например, в событии с выбранным элементом), то элемент управления пропадет при следующей обратной передаче.

Чтобы динамические элементы управления были зарегистрированы в ViewState, они должны быть созданы на этапе инициализации жизненного цикла события.

Кроме того, вы говорите, что просматриваете элементы управления формы ... когда добавляете кнопку изображения в ячейки таблицы. Вы рекурсивно опускаете управляющую иерархию для поиска кнопки изображения?

...