【发布时间】:2026-02-12 19:55:02
【问题描述】:
因此,在 google/SO 上搜索时,在 asp.net updatepanel 更新中丢失 jquery 绑定的这个已知问题有很多细节。
有一些建议的解决方案。这是我设置初始 jquery 轮播的代码。
$(function() {
$('.carousel-sizes').jcarousel({ scroll: 3 });
$('.carousel-pics').jcarousel({ scroll: 1 });
});
效果很好。一旦更新面板被击中,尽管它会因为 jquery 绑定明显丢失而中断。所以这是我应用的修复程序。
if (typeof (Sys) != "undefined") {
prm = Sys.WebForms.PageRequestManager.getInstance();
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);
}
function InitializeRequest(sender, args) {
}
function EndRequest(sender, args) {
$('.carousel-sizes').jcarousel({ scroll: 3 });
$('.carousel-pics').jcarousel({ scroll: 1 });
}
这可行,但更新面板现在慢得无法使用。
这是一个使用母版页的 .net 3.5 页面,在母版页中声明了脚本管理器(EnablePartialRendering 设置为 true 以防万一),并且母版页或内容页中的 javascript 代码(没有区别,因为它是在任一页面上都很慢)。最新版本的 Jquery。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
我已将上述代码添加到母版页/内容页顶部,但它不起作用。将它添加到任一页面的底部(就在 BODY 结束标记或 CONTENT 结束标记之前),它可以工作,但速度很慢。
我已经调试过了,就 .net 而言,我的页面没有做任何大规模的密集操作,调试会通过相关事件,然后在更新面板刷新之前挂起大约 3-4 秒。
有什么想法吗?
【问题讨论】:
标签: jquery asp.net performance updatepanel