Добавление ClickEvent в динамические LinkButtons в OnLoadComplete - PullRequest
0 голосов
/ 04 марта 2009

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

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

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

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

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

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

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

1 Ответ

3 голосов
/ 05 марта 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...