Добавление события нажатия на кнопки динамической ссылки в OnLoadComplete

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

Вопрос

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

Когда моя страница загружается (OnLoad), я вызываю метод (createStuff ()), который создает несколько кнопок ссылок (представляющих папки в текущем каталоге), которые связаны с событием, которое изменяет текущий каталог на связанный. с кнопкой ссылки.

Поскольку linkbutton-click-event запускается после вызова OnLoad (и, следовательно, текущий каталог сначала изменяется после загрузки), кнопки link не обновляются, чтобы отобразить новый текущий каталог (они создаются до того, как текущий каталог был изменен). по событию клика). Поэтому я также вызываю createStuff () в OnLoadComplete, в результате чего кнопки ссылок обновляются и отражают папки в новом текущем каталоге.

ОДНАКО (и это моя проблема), кажется, что событие события (Click + = new EventHandler (changeDirectory)), которое я делаю в createStuff (), на самом деле не работает, когда метод вызывается в OnLoadComplete (OnLoadComplete вызывается после событие clickbutton-click было запущено). В результате, хотя текстовое свойство кнопок ссылок отражает папки в новом каталоге, нажатие кнопок ссылок не запускает событие.

Как я могу решить эту проблему? Я попытался переписать события на LinkButtons в OnLoad, но результат тот же.

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

Саймон, Дания

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

Решение

Установите свойство ID LinkButton последовательно.

Двумя распространенными причинами такого поведения являются (1) отсутствие обработчиков событий и (2) отсутствие свойств идентификатора. Поскольку вы уверены, что ваш обработчик событий подключается во время OnLoad , вероятным виновником является отсутствие свойств идентификатора.

Когда пользователь щелкает вашу LinkButton на клиенте, PostBack отправляется на сервер, который называет LinkButton по идентификатору. Если вы не уверены, что ваш элемент управления имеет одинаковый идентификатор между PostBacks, ваш обработчик событий может не вызываться.

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