[英]In ASP.NET Webforms how to run JavaScript when adding a UserControl to a page
我有一個包含許多字段的UserControl。 在ascx中,我有一個document.ready()函數,其中使用JQuery隱藏了某些字段。 在常規頁面上,當頁面被加載時,這些字段被隱藏並且JavaScript可以正常工作。
可以說,當用戶單擊按鈕時,我將UserControl動態添加到頁面中。 UserControl可以很好地添加,但是JavaScript不會運行以隱藏其中最初應該被隱藏的所有字段。
起初我以為是因為它已經不能加載document.ready了,因為我的實際頁面已經被加載了。 但是后來我意識到document.ready沒有運行。 因此,然后我將所有隱藏字段行都包裝在一個名為initializeControls();的函數中; 並嘗試在UserControl的PageLoad事件中調用它。 我猜這時控件還沒有完全加載到頁面上,因為我收到了很多未定義的錯誤。
有任何想法嗎?
在c#中,將以下代碼添加到點擊事件代碼的結尾。 ASP.Net服務器處理完成並加載頁面后,它將調用您的javascript函數。
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "Script", "functionName();", True)
否則,您可以先隱藏字段並使用javascript顯示這些字段。
這是我的錯。 實際上,當控件在回發時動態添加時,它實際上已進入document.ready。 問題是在UserControls中,我忘記了所有內容都被自動賦予一個不同的ID,並且我在jQuery中隱藏了一個div。 相反,我將div設為一個面板,並根據ClientID隱藏了該面板。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.