Asp.net
更新面板刷新後如何執行一些 javascript?
我有一個 pageLoad 函式,它在我無法更改的 .ascx 控制項上設置一些 CSS。在頁面載入時一切都很好,但是當更新面板更新控制項時,我的 CSS 不再應用。頁面更新後如何重新執行我的函式?
$(function() { $("textarea").attr("cols", "30"); $("input.tbMarker").css({ "width": "100px" }).attr("cols","25"); });這顯然只在初始頁面載入時執行。更新後如何執行它?
添加 add_pageLoaded 處理程序也可以工作。
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler);注意:處理程序將觸發任何回調,但您可以
sender._postBackSettings.panelID在希望呼叫函式時使用過濾器。更多樣品:
- <http://blog.jeromeparadis.com/2007/03/01/1501/>
- <http://zeemalik.wordpress.com/2007/11/27/how-to-call-client-side-javascript-function-after-an-updatepanel-asychronous-ajax-request-is-over/>
最簡單的方法是在您的 javascript 程式碼中使用 MSAjax pageLoad 事件:
<script> ///<summary> /// This will fire on initial page load, /// and all subsequent partial page updates made /// by any update panel on the page ///</summary> function pageLoad(){ alert('page loaded!') } </script>我已經用過很多次了,它就像魅力一樣。最重要的是不要將它與 document.ready 函式混淆(僅在頁面文件對像模型 (DOM) 準備好執行 JavaScript 程式碼後執行一次),但 pageLoad 事件將在每次更新面板時執行刷新。