Выполнение клиентского Javascript после обратного вызова RadAjax

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

Вопрос

У меня есть веб-форма, которая использует Telerik RadAjaxManager (через прокси-сервер RadAjaxManager) для обновления RadGrid на основе критериев фильтра.Когда критерии меняются, я перепривязываю сетку, но теперь я также хочу изменить размер сетки на клиенте, используя JavaScript.Как я могу заставить мой JavaScript выполняться при повторном связывании сетки?JS-код уже существует на странице, и его нужно просто вызвать.

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

    function resizeChildren() {
        $("#ctl00_mainContentPlaceHolder_grid_GridData").height($(window).height() - 160);
    }

    $(document).ready(function() {
        resizeChildren();
    });
    $(window).resize(function() {
        resizeChildren();
    });

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

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

Решение

Я бы использовал либо коллекцию сценариев ответа RadAjaxManager, либо обработчик pageLoaded PageRequestManager.Видеть Эта статья Подробности на сайте Телерика.

Другие советы

Я знаю, что на этот вопрос уже ответили, но я хотел бы присоединиться...

Если вы добавите RadScriptBlock внутри RadAjaxPanel, он будет выполняться всякий раз, когда содержащийся объект вызывает обратную передачу ajax.

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