簡體   English   中英

如何在用戶控件中獲取javascript以在頁面加載可見性為false的面板中工作?

[英]How go I get the javascript in my user control to work inside of a panel whose visibility is false on page load?

我正在開發一個ASP.NET/C#項目,我們在其中將用戶控件放入AJAX面板中,該面板的可見性在頁面加載時設置為false。 用戶提交一些參數后,此面板的可見性將設置為true。 但是,盡管一旦設置並提交了這些參數,即可看到用戶控件和所有其他面板內容,但uc的javascript函數不起作用。

我試圖通過在Page_Load中添加Page.Controls.Add(controlID)(如果它不是回發)來解決此問題。 當我執行此操作時,功能就已存在,但是我知道有一種更好的方法來獲得功能,因為在這種情況下,控件被兩次添加到頁面中。

編輯:我將控制器放在面板外部的div中,並得到我想要的控件。 但是,如果任何人都可以解釋為什么未定義控件的javascript或提供將我的UC保留在面板中的解決方案,我將不勝感激。

如果將ASP服務器控件的visible屬性設置為false,則該控件甚至不會在頁面上呈現。 由於用戶控件位於ajax服務器控件內部,因此不會呈現該用戶控件。 Javascript代碼是由瀏覽器執行的,因此必須在頁面上顯示才能運行。 如果您可以為ajax服務器控件設置css屬性顯示:無,則將其隱藏並顯示:塊,則用戶控件及其javascript將在頁面上呈現,但是對用戶隱藏的css屬性我設置為顯示:無,因此將執行其javascript。

要設置ajax服務器控件的顯示屬性,可以使用:ajaxControl.Styles.Add(“ display”,“ none”)。 希望這對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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