Итак, у меня есть эта UpdatePanel. Внутри него есть небольшая миниатюра прокрутки jQuery, которая показывает полное изображение в контейнере после отправки назад, чтобы получить полный URL-адрес изображения с сервера. Каждый эскиз в галерее прокрутки представляет собой imageButton с событием onCommand.
Происходит следующее: при нажатии на миниатюру она отправляется обратно на сервер и изменяет полный контейнер изображения. Поскольку это происходит на панели обновления, я использую javascript «function pageLoad () {}» для повторного применения моего jQuery после частичной обратной передачи. Работает отлично! После каждой обратной передачи я не теряю визуальные эффекты jQuery.
Проблема в том, что я могу вернуть к работе только один пост, прежде чем обновить страницу. Похоже, что после первой обратной передачи, представление обновляется, и pageLoad JS запускает для повторной инициализации jQuery, как и ожидалось. В следующий раз, когда я нажму на миниатюру, чтобы увидеть ее полный вид, я могу наблюдать, как на сервере выполняется событие onCommand, но с моим представлением ничего не происходит; нет полного изменения изображения, нет pageLoad () JS запуска. Ничего такого. Это похоже на то, что при обратной передаче не выполняется обратная передача и отправка данных клиенту после обработки на сервере.
Не только это, но и другие панели обновлений также испытывают тот же эффект независимо от того, есть ли в них элемент jQuery, на который будет влиять мой pageLoad () JS. Первая обратная передача обновляет панель нормально, но последующие обратные передачи, похоже, ничего не делают.
Я думаю, что проблема в JS pageLoad (), но я не уверен, что мне не хватает.
Вот метод JS, который должен запускаться после каждой полной или частичной обратной передачи и, похоже, вызывает у меня горе. Он находится в моей <голове>.
<script type="text/javascript">
function pageLoad(){
$("div.scrollable1").unbind();
$("div.scrollable").unbind();
// initialize small scrollable.
$("div.scrollable1").scrollable({size: 1,clickable: false});
// initialize scrollable
$("div.scrollable").scrollable({size: 1,clickable: false}).mousewheel().find("a[rel]").overlay();
}
</script>