【问题标题】:the Javascript "function pageLoad()" doesn't play nice with UpdatePanelJavascript“函数 pageLoad()”不能与 UpdatePanel 配合使用
【发布时间】:2010-03-04 16:59:38
【问题描述】:

所以我有这个更新面板。在它里面我有一个漂亮的小 jQuery 滚动缩略图画廊,它在发回从服务器获取完整图像 URL 后在容器中显示完整图像。滚动库中的每个缩略图都是一个带有 onCommand 事件的 imageButton。

发生的情况是,当单击缩略图时,它会发回服务器并更改完整的图像容器。由于这发生在更新面板中,我使用 javascript“函数 pageLoad(){}”在部分回发后重新应用我的 jQuery。效果很好!每次回发后,我都不会丢失我的 jQuery 视觉效果。

问题是在我必须刷新页面之前,我只能让一篇帖子恢复工作。似乎在第一次回发之后,视图得到了更新,并且 pageLoad JS 触发以按预期重新初始化 jQuery。下次我单击缩略图查看它的完整视图时,我可以看到 onCommand 事件在服务器上执行,但我的视图没有任何反应;没有完整的图像更改,没有 pageLoad() JS 触发。没有。这就像回发不会进行往返,并在服务器上处理完数据后将数据发送回客户端。

不仅如此,其他更新面板也会体验到相同的效果,无论其中是否存在受我的 pageLoad() JS 影响的 jQuery 元素。第一次回发可以很好地更新面板,但随后的回发似乎什么也没做。

我认为问题在于 pageLoad() JS,但我不确定我缺少什么。

这是应该在每次完整或部分回发后运行的 JS 方法,这似乎让我很伤心。它位于我的

中。
<script type="text/javascript"> 
  function pageLoad(){   
    $("div.scrollable1").unbind();
    $("div.scrollable").unbind();
    // initialize small scrollable.
    $("div.scrollable1").scrollable({size: 1,clickable: false});
    // initialize scrollable    
    $("div.scrollable").scrollable({size: 1,clickable: false}).mousewheel().find("a[rel]").overlay(); 
  }
</script>

【问题讨论】:

  • 好吧,如果问题都出在你的 上,那它就不是真的,所以没什么好担心的,对吧?对不起,无法抗拒。 :)

标签: .net javascript jquery updatepanel pageload


【解决方案1】:

首先,我想建议不要使用两个不同的 javascript 库。在许多情况下,它会(正如您从问题中看到的那样)导致可能很难解决的问题。

但你可以试试这个:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
function endRequest() {
    //Set your jquery stuff here.
}

我认为这会奏效。此代码应位于任何更新面板之外,因此不会重新加载。

【讨论】:

  • -1。众所周知,ASP.Net AJAX 和 jQuery 可以很好地相互配合。微软甚至将 jQuery 与 VS 2010 以及他们的 AJAX 库捆绑在一起。
  • @Earlz 为什么要使用两个做同样事情的库? Microsoft 这样做了,因此您可以选择要使用的那个。
  • 因为 AJAX 库只与 jQuery 重叠,所以它们没有做同样的事情。 jQuery 具有 AJAX 功能,但没有 ASP.Net 控件使用它。
  • 我已经尝试过了,但我仍在尝试一步完成所有脚本的绑定。在重新审视了这种方法之后,它原来是要走的路。我试图在一个功能中完成太多,所以我把它分解成单个步骤,一切似乎都在工作。谢谢!
  • @Earlz 如果您想使用asp.net 控件来处理您的ajax 请求并使用jquery,那么我确信有一些第三方控件使用jquery。快速谷歌,我发现了这个:dj.codeplex.com,我相信还有更多。但就个人而言,我宁愿编写 jquery 代码,然后使用服务器控件。我认为它更容易和更快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
相关资源
最近更新 更多