Pesquisar

6 de fev de 2009

Executando script após update via AJAX

Uma dica pra quem quiser executar um script sempre após o update do Ajax no Asp.Net.
Alguem scripts não funcionam se você envia-los pelo ScriptManager, pois precisam ser executados após a requisição do Ajax ser terminada e fechada. É o caso do PNGFix pro Internet Explorer 6.0.
Se você carregar imagens no seu UpdatePanel, o PNGFix não funciona pras novas imagens, mesmo mandando executar novamente pelo ScriptManager, esta foi a única alternativa que encontrei.

É simples, adicione a seguinte chamado ao body:

<body onload=" RegisterEndRequest()">

E adicione o script na sua página:

function RegisterEndRequest() {

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

}

function EndRequestHandler() {

$('.imagem').pngFix();

}

A primeira função é a que será chamada pelo onload do body, ela vai registrar a outra função para que seja executada sempre que terminar um update do Ajax. Na EndRequestHandler você coloca o seu código.

Simples!

Nenhum comentário: