Добавление списка пользовательских элементов управления с кнопками в заполнитель - нет события?

StackOverflow https://stackoverflow.com/questions/891053

Вопрос

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

Я могу добавить элемент управления с помощью LoadControl(путь к файлу .ascx) - нет проблем.

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

Но при добавлении LinkButtons у меня возникают проблемы.

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

Как так получилось или что я здесь делаю не так?

Теперь я создал "поддельную кнопку", используя метку с "жестко закодированным A HREF" с идентификатором в URL, но я хотел бы узнать, какое событие мне нужно перехватить и где или как инициализировать кнопку, потому что я хочу иметь возможность использовать "default ASP.NET "элементы управления для этих пользовательских элементов управления (надеюсь, без слишком большого количества лоскутного кодирования)...

Это было полезно?

Решение

Единственная причина, по которой события "теряются", заключается в том, что ваши элементы управления не воссоздаются таким образом, чтобы ASP.Net можно было связать событие с элементом управления после обратной передачи.Он делает это с помощью свойства ID.

Другими словами, вы делаете одну из трех неправильных вещей:

1) Вы по-разному присваиваете идентификаторы своим linkbuttons на этапе создания в Init после обратной отправки

2) Вы создаете свои linkbuttons динамически, используя код, но вы делаете это после этапа инициализации жизненного цикла страницы, так что ваши элементы управления не участвуют в ViewState.

3) Вы повторно привязываете источник данных родительского элемента управления, содержащего linkbuttons, при каждой обратной передаче.Использование if (!IsPostBack) чтобы предотвратить повторную привязку его каждый раз.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top