我有一個自制的工具欄控件,它在幾個地方都使用,都在UpdatePanel和一個外部。它依靠一些jQuery來設置它的按鈕。它有自己的啓動腳本嵌入其程序集。ASP.NET UpdatePanel:如何獲取客戶端腳本在每次刷新時運行
我遇到的問題是讓啓動腳本在工具欄位於更新面板的正確時間運行。由於它是在更新面板標記的隱藏面板中聲明的,因此在創建更新面板時會創建並加載它。但是,直到用戶完成了一些事情並且隱藏的面板變得可見之後,它纔會真正呈現。
我想讓啓動腳本在每次更新面板刷新時運行。 (理想情況下,如果工具欄可見,我只想這樣做,但如果需要,我會採取「每次刷新」。)但是,我希望工具欄在更新面板外部仍然可以正常工作,當它需要時要做的是鉤入文檔的.ready()處理程序。
鑑於工具欄從服務器端無法知道它是否位於更新面板內,但是負責確保必要的javascript,我該如何做到這一點?
謝謝。
ETA:我在this question的回答中找到了答案。這適用於我的工具欄,無論它是在更新面板還是在一個之外。謝謝大家!
不知道這是否幫助,但我認爲你可以在服務器端告訴的UpdatePanel是否已經引起使用ScriptManager.GetCurrent(頁).IsInAsyncPostBack方法回發。你的情況會起作用嗎? –
@JasonTuran嗯。也許吧,但從它的聲音來看,它只會告訴我一個更新小組已經回來了,而不是回發的小組是否是我的控制的祖先。爲此,我想我將不得不爬上.Parent屬性的層次結構。但是謝謝你! –