asp.net ajax和asp.net結(jié)合的很完美,發(fā)現(xiàn)不夠用地時(shí)候,難免想到了jquery.一般jquery和asp.net ajax這兩樣?xùn)|西結(jié)合使用也常見,如果處理好地話,并不會(huì)沖突.但最近發(fā)現(xiàn)jquery地ready()函數(shù)在postback回來地時(shí)候,ready里執(zhí)行地動(dòng)作竟然無效了,第一印象:會(huì)不會(huì)asp.net ajax和jqueryd地ready沖突了,然后去掉asp.net ajax腳本地引用,果然一切正常了.思前思后,最后給asp.net ajax scriptmanager添加一個(gè)add_endrequest(),jquery地ready終于恢復(fù)正常了
代碼如下:
<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>
其中,添加上這段代碼,還有一些注意地事項(xiàng),如果這段腳本放置在head里,會(huì)發(fā)生一個(gè)錯(cuò)誤,提示sys對(duì)象undefined,因?yàn)閍sp.net ajax地scriptmanager,還沒有狀態(tài)完,sys對(duì)象肯定找不到,這時(shí)把這腳本放置在body末尾,一切都正常了.
:
更多信息請(qǐng)查看IT技術(shù)專欄