Как вызвать сторону клиента функция JavaScript после того, как определенный UpdatePanel был загружен

32
задан YeahStu 5 May 2011 в 15:58
поделиться

3 ответа

Можно сцепить событие PageRequestManager.beginRequest и осмотреть свойство BeginRequestEventArgs.postBackElement.

Примечание, которое это не делает действительно , дает Вам UpdatePanel, но управление в UpdatePanel. Это должно быть достаточно хорошо, все же.

Редактирование: Еще лучше событие PageRequestManager.pageLoaded дает Вам PageLoadedEventArgs.panelsUpdated panelsCreated) свойства.

13
ответ дан 27 November 2019 в 20:32
поделиться

Это может быть Вашим решением.

В коде позади для события UpdatePanel's OnLoad, зарегистрируйте сценарий запуска.

string scriptText = "alert('Bar!');";

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "foo", scriptText, true);
1
ответ дан 27 November 2019 в 20:32
поделиться

Спасибо - оба хороших ответа. Я пошел с клиентским сценарием "pageloaded" в конце. Это - справедливо проложенный под землей метод, который Google не показал мне. Для тех, кому интересно, этот код работы с FireBug для предоставления хорошей демонстрации метода PageLoaded, работающего для нахождения обновленных панелей:

<script type="text/javascript">
        $(document).ready(function() {
            panelsLoaded = 1;
            Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded)
        });

        function PageLoaded(sender, args) {
            console.log("I have occured " + panelsLoaded++ + " times!");

            var panelsCreated = args.get_panelsCreated();
            for (var i = 0; i < panelsCreated.length; i++) {
                console.log("Panels Updating: " + panelsCreated[i].id);
            }

            var panelsUpdated = args.get_panelsUpdated();
            for (var i = 0; i < panelsUpdated.length; i++) {
                console.log("Panels Updating: " + panelsUpdated[i].id);
            }
        }
    </script>
48
ответ дан 27 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: