可能重複:
JavaScript Function Definition in ASP User Control用戶可以控制JavaScript
嗨,
我將在一個頁面中使用兩次,一般的用戶控制。有一個javascript asscoiated與它也需要添加。我怎麼能把這個添加到一個頁面,因爲JavaScript會被多次添加。
可能重複:
JavaScript Function Definition in ASP User Control用戶可以控制JavaScript
嗨,
我將在一個頁面中使用兩次,一般的用戶控制。有一個javascript asscoiated與它也需要添加。我怎麼能把這個添加到一個頁面,因爲JavaScript會被多次添加。
ClientScriptManager是你正在尋找的它有一套RegisterClientScriptxxx方法來註冊字符串/包括文件/資源等作爲客戶端腳本塊。這些方法中的每一個都帶有一個鍵和可選類型的參數,每個鍵/類型的腳本只包含一次。
在用戶控件的onload或OnInit中你要像下面
Page.ClientScriptManager.RegisterClientScriptInclude(typeof(MyUserControl), "myscript", @"/path/to/my/script.js");
呼叫無論用戶控制多少實例在頁面腳本只會被包含一次。
順便說一句,Page.RegisterClientScriptxxx方法現在不推薦使用,ClientScriptManager是首選。
感謝 - 自從我參與ASP.NET以來已經有好幾年了;可能應該檢查這種變化。 – 2010-03-26 13:26:03
我建議您將javascript源代碼與控件分開,然後在加載控件兩次之前加載JavaScript一次。
我假設這是ASP.NET。如果是這樣,在你的代碼中,你調用RegisterClientScriptBlock並傳遞一個密鑰。但是在通話之前,您可以調用IsClientScriptRegistered來檢查該密鑰是否已經註冊。這樣,只有添加的第一個用戶控件纔會註冊它的javascript,所以它只會被添加到頁面一次。
我認爲這是ASP.NET?你應該這樣說。 – 2010-03-25 20:51:04