簡體   English   中英

在ASP.NET Webforms中,將UserControl添加到頁面時如何運行JavaScript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM