【问题标题】:Running javascript whenever UpdatePanel refreshes每当 UpdatePanel 刷新时运行 javascript
【发布时间】:2011-10-23 22:32:10
【问题描述】:

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

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

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

第一次加载页面时运行良好,但在选择菜单项并运行更新面板时运行良好。

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

【问题讨论】:

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


    【解决方案1】:

    像这样:

    <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】:

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

      虽然有一些方法可以实现这种行为,但 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/

      【讨论】:

        【解决方案3】:

        看看这个事件:

        window.onload 在加载整个页面时触发。 UpdatePanel 使用 AJAX 方法,因此每当更新和往返行程结束时,页面都会保持加载状态,并且只更新了其中的一部分。

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

        【讨论】:

          【解决方案4】:

          我认为你应该使用

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

          问候

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-08-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-17
            • 1970-01-01
            相关资源
            最近更新 更多