说说大全
当前位置:首页 > 说说大全 > 列表页

调用DLL中函数时提示访问冲突 [Asp.net中Ajax与JQuery的ready函数冲突怎么办]

泥巴往事网  发布于:2018-08-15  分类: 说说大全 手机版

Ajax和结合得很完美,发现不够用的时候,难免想到了Jquery。一般Jquery和 Ajax这两样东西结合使用也常见,如果处理好的话,并不会冲突。但最近发现Jquery的ready()函数在PostBack回来的时候,ready里执行的动作竟然无效了,第一印象:会不会 Ajax和Jqueryd的ready冲突了,然后去掉 Ajax脚本的引用,果然一切正常了。思前思后,最后给 Ajax ScriptManager添加一个add_endRequest(),Jquery的ready终于恢复正常了

代码如下

<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance()
.add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args) {
if (args.get_error() == undefined) {
PageInit();
}
}

function PageInit() {
$(document).ready(function() {
//TODO
});
}

PageInit();
</script>

其中,添加上这段代码,还有一些注意的事项,如果这段脚本放置在head里,会发生一个错误,提示Sys对象undefined,因为 Ajax的ScriptManager,还没有状态完,Sys对象肯定找不到,这时把这脚本放置在body末尾,一切都正常了。

本文已影响

调用DLL中函数时提示访问冲突 [Asp.net中Ajax与JQuery的ready函数冲突怎么办]