2009-11-27 12 views
6

Ich habe ein Webformular, das den Telerik RadAjaxManager (via RadAjaxManager Proxy) verwendet, um ein RadGrid basierend auf Filterkriterien zu aktualisieren. Wenn sich die Kriterien ändern, binde ich das Raster erneut, aber jetzt möchte ich auch die Größe des Rasters auf dem Client mithilfe von JavaScript ändern. Wie kann ich bewirken, dass mein JavaScript ausgeführt wird, wenn ich das Raster neu binde? Der JS-Code existiert bereits auf der Seite und muss nur aufgerufen werden.Client ausführen Javascript nach RadAjax Callback

z. Wenn ich die Anzahl der Zeilen im RadGrid vergrößere, wird sie auf eine Standardhöhe zurückgesetzt, viel weniger als die Höhe ihres Containers, bis ich die Größe der Seite ändere oder neu lade, wenn das Raster nach dem unten stehenden Code skaliert wird. Ich möchte in der Lage sein, resizeChildren() auszuführen, wenn sich meine Kriterien und damit die Anzahl der Zeilen ändert.

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

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

Ich weiß, dass ich diese zusammen mit Client-Seite Code tun, aber ich möchte wissen, wie Client-Seite Code als Teil der Antwort auf eine Ajax-Callback auszuführen.

+0

Zeig uns etwas Code. – roosteronacid

+0

Es gibt jetzt Code und mehr Erklärung. – ProfK

Antwort

3

Was ich tun würde, ist entweder die Verwendung der Antwort-Skriptsammlung von RadAjaxManager oder des PageLoaded-Handlers des PageRequestManagers. Details finden Sie auf der Telerik-Website unter this article.

2

Ich weiß, das ist schon beantwortet, aber ich wollte in läuten ...

Wenn Sie eine RadScriptBlock innerhalb eines RadAjaxPanel hinzufügen, dann wird es ausgeführt werden, wenn ein enthaltenes Objekt bewirkt, dass das Ajax-Postbacks