這與this的問題完全相同,從5月份未回覆。ScriptManager多次向頁面添加腳本(複製)
注意:this未回覆的帖子準確地描述了行爲 - 在UpdatePanel中,用戶控件中的ScriptManager.RegisterClientScriptBlock在<head>
中添加的額外腳本導致重複。 C#.NET 4.0。頁面的結構如下:
MasterPage
Page
UserControl1 (ascx) - loaded in code by Page
UpdatePanel
UserControl2 (ascx) - loaded in code by UserControl1
第一次在正文中按預期添加腳本。該代碼,簡單地說,在UserControl2的OnInit:
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "myscript", script, true);
我也嘗試引用「本」,而不是頁面,並沒有真正意義,因爲我不想重複在同一腳本鍵頁面,如果用戶控件在頁面上多次加載,但它無法正常工作。
經過部分回發後,腳本再次被添加 - 但好奇地在頁面的<head>
,而不是正文,有趣的是,缺少asp.net通常添加的正常的包裝。
UserControl1添加的另一個腳本在部分回發後以完全相同的方式重複。
有誰知道爲什麼會發生這種情況?
你想如何註冊腳本?當整個頁面只生成? – akonsu 2010-12-03 15:38:54
Jsut作爲一個筆記,你鏈接的問題似乎被回答... – Chris 2010-12-03 15:51:11
@Chris對不起,你說得對,它被回答,但這不是我的問題,也許是他的,雖然它沒有被接受。我正在使用相同的類型和密鑰。我確實發現其他人在別處詢問這個問題,但沒有解釋或答案。 – 2010-12-03 15:57:33