gpt4 book ai didi

jQuery UpdatePanel 初始化

转载 作者:行者123 更新时间:2023-11-30 23:46:26 26 4
gpt4 key购买 nike

我目前正在尝试对位于 AJAX UpdatePanel 内的 GridView 使用“colResizable”。第一次加载时,它运行良好,但每当 UpdatePanel 更新时,它就会停止。

我知道这是由面板的完全刷新引起的,这意味着初始化添加的所有内容都不会添加回来。

我尝试过“add_endRequest”解决方案

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_endRequest(function() {
$(".GridViewStyle").colResizable({ liveDrag: true });
}

但是,它被调用得太早并且不能解决我的问题。

我已经阅读了有关“.live()”方法的信息,但我不明白如何使用它进行初始化。对于像“mouseover”这样的事件,我了解它是如何使用的,而且非常简单......但是,对于 inits,我不明白。

我当前的初始化行是:

$(document).ready(function () {
$(".GridViewStyle").colResizable({ liveDrag: true });
});

按照“鼠标悬停”示例,但我无法弄清楚要连接到哪个事件,因为文档没有列出“加载”之类的内容。如果是的话,我会使用这样的东西......

$(".GridViewStyle").live("load", function () { $(".GridViewStyle").colResizable({ liveDrag: true }); });

我四处搜寻,但没有找到适合我需求的东西。我对 jQuery 还很陌生,所以我可能没有使用正确的词汇/概念。

最佳答案

您可以使用 PageRequestManagerpageLoaded 事件来代替 endRequest。查看此事件文档:

Raised after all content on the page is refreshed as a result of either a synchronous or an asynchronous postback.

此外,在此事件处理程序中,仅当 GridView 控件所在的 UpdatePanel 创建或更新时,您才可以应用 colResizing 插件。这使您可以避免每个异步回发上的冗余插件初始化调用,这些调用可能由其他一些 UpdatePanel 中的控件引发

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(initializeResizeable);

function initializeResizeable(sender, args) {
var context = $(args.get_panelsCreated()).add(args.get_panelsUpdated());
$(".GridViewStyle", context).colResizable({ liveDrag: true });
}

此外,使用此脚本,您可以从 document.ready 处理程序中删除插件初始化,因为此脚本将在首页加载时以及每次异步回发时执行

关于jQuery UpdatePanel 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13260000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com