JCKiran Ответов: 1

Как прикрепить события к динамическим элементам управления


уважаемый друг,

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

Однако я могу выполнить вышеприведенное требование, когда нажимается динамическая кнопка, все динамически созданные кнопки исчезают. Даже значение, которое было установлено для метки, также очищается. Может ли кто-нибудь помочь мне найти эту проблему, пожалуйста?

Что я уже пробовал:

Button cmdBtn = new Button();

string strRowNumber = ds.Tables[0].Rows[i]["RowNumber"].ToString();
string strColumnNumber = ds.Tables[0].Rows[i]["ColumnNumber"].ToString();

cmdBtn.ID = "ABC_" + strRowNumber + "_" + strColumnNumber;
cmdBtn.Text = "ABC_" + strRowNumber + "_" + strColumnNumber;

cmdBtn.Attributes.Add("OnClick", "javascript: document.getElementById('lblSelectedButton').innerText = '" + cmdBtn.ID + "';");

frmLayout.Controls.Add(cmdBtn);

1 Ответов

Рейтинг:
2

Maciej Los

Что ж...

Во-первых, кажется, что никто не может помочь вам определить, где находится проблема, потому что мы не видим, что делает javascript. Я бы посоветовал проверить этот javascript.

Во-вторых, ASP.NET предоставляет способ добавления дескрипторов событий. Пожалуйста, смотрите:
Как: динамически связывать обработчики событий во время выполнения ASP.NET страницы веб-форм[^]
Обрабатывать событие щелчка динамически генерируемой кнопки, LinkButton и ImageButton в ASP.Net[^]

Если вы хотите добавить события клиентского скрипта в asp.net серверные элементы управления, пожалуйста, прочтите это: Как добавить события клиентского скрипта в ASP.NET элементы управления веб-сервером[^]