UpdatePanel刷新时运行javascript

时间:2011-08-10 09:45:52

标签: javascript asp.net ajax vb.net updatepanel

我正在使用asp.net更新面板在选择菜单项时刷新页面上的内容。

在更新的内容中,是具有javascript反射功能的图像,该功能由以下代码行触发:

window.onload = function () { addReflections(); }

首次加载页面时运行正常,但选择菜单项并运行更新面板时运行不正常。

在使用jquery代码的先前项目中,我已将document.ready替换为函数pageLoad,但此页面上没有document.ready。

4 个答案:

答案 0 :(得分:3)

基本上,这是因为更新面板刷新不会触发该事件。

有很多方法可以实现这种行为,Ajax.Net有一个可以挂钩的EndRequestHandler函数。

这是一个很好的例子:

http://zeemalik.wordpress.com/2007/11/27/how-to-call-client-side-javascript-function-after-an-updatepanel-asychronous-ajax-request-is-over/

答案 1 :(得分:3)

像这样:

<script>

        // ASP.NET AJAX on update complete   
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_endRequest(function(sender, args) {
           // your code here, eg initToolTips('/Common/images/global/popup3.gif');
        });

答案 2 :(得分:0)

看看这个事件:

加载整个页面时会触发

window.onload。 UpdatePanel使用AJAX方法,因此无论何时更新并且往返结束,页面都会保持加载状态,并且只有部分内容已更新。

换句话说,“当对服务器的请求结束时,您需要这样做。”

答案 3 :(得分:0)

我认为你应该使用

function pageLoad(sender, arg) {
    if (!arg.get_isPartialLoad()) {
        // in first load only
    }
      //every time the update panel refreshed
 }

问候