Книга рецептов WEB-девелопера

воскресенье, 26 августа 2007 г.

Вызов JavaScript после обновления UpdatePanel

Многие веб-девелоперы столкнулись с такой проблемой как вызов клиентского скрипта, находящегося внутри аяксовой апдейт панели. Они бля, не работают при обновлении панели....просто не работают и все....

Постановка задачи
Сделать так, чтобы после отработки UpdatePanel вызывался клиентский JavaScript

Решение
Причина в том, что ScriptManager который находится на странице не обрабатывает клиентские скрипты, поэтому надо сделать подписку на событие, обернуть скрипт в функцию и вызывать ее в качестве обработчика. Показываю...
<script language="javascript" type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(ShowBeforeAlert);
    function ShowBeforeAlert(sender, args){
        alert("Function before UpdatePanel refresh");    
    }
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ShowAfterAlert);
    function ShowAfterAlert(sender, args){
        alert("Function after UpdatePanel refresh");    
    }
</script>
<asp:UpdatePanel runat="server" UpdateMode="Conditional" id="UpdatePanel">
<contenttemplate>
    <script language="javascript" type="text/javascript">    
        alert("Page Load");        
    </script>
    <asp:button runat="server" id="TestButton" Text="Test"/>
</contenttemplate>
</asp:UpdatePanel>

Ярлыки: , ,

Комментарии: 1:

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]



<< Главная страница