所以我想運行一些JavaScript函數我的UpdatePanel更新後,讓我有:的UpdatePanel後爲什麼我的函數運行多次被加載
function pageLoad() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(panelLoaded);
}
function panelLoaded(sender, args) {
alert("foobar");
}
與上面的代碼,如果我更新面板一個時間,「foobar」會一次提醒;如果我第二次更新面板,「foobar」會彈出兩次;第三次觸發面板更新,「foobar」彈出三次...第四次彈出4次等等......
是什麼引起的?
謝謝~~~
看起來像在lprm.add_pageLoaded(panelLoaded)中一遍又一遍地添加它l。它可能永遠不會從prm中刪除,並且每次你在添加一個新實例的頁面都會丟失。嘗試在那裏設置一個斷點並查看prm中有多少個panelLoaded調用。 prm是否有remove_pageLoaded();選項? – Sam 2012-08-03 20:24:26
謝謝你,你是對的,它是Sys.WebForms.PageRequestManager.getInstance()。remove_pageLoaded(panelLoaded); – eastboundr 2012-08-03 20:42:11
很高興幫助!祝好運與您的其餘項目。 – Sam 2012-08-03 20:45:00