asp.net中ajax與jquery的ready函數(shù)沖突怎么辦

字號:


    asp.net ajax和asp.net結(jié)合的很完美,發(fā)現(xiàn)不夠用地時候,難免想到了jquery.一般jquery和asp.net ajax這兩樣東西結(jié)合使用也常見,如果處理好地話,并不會沖突.但最近發(fā)現(xiàn)jquery地ready()函數(shù)在postback回來地時候,ready里執(zhí)行地動作竟然無效了,第一印象:會不會asp.net ajax和jqueryd地ready沖突了,然后去掉asp.net ajax腳本地引用,果然一切正常了.思前思后,最后給asp.net 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里,會發(fā)生一個錯誤,提示sys對象undefined,因為asp.net ajax地scriptmanager,還沒有狀態(tài)完,sys對象肯定找不到,這時把這腳本放置在body末尾,一切都正常了.
    :