Выполнить клиентский Javascript после обратного вызова RadAjax - PullRequest
6 голосов
/ 27 ноября 2009

У меня есть веб-форма, которая использует 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.

Ответы [ 2 ]

3 голосов
/ 14 сентября 2010

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

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

3 голосов
/ 27 ноября 2009

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

...