2010-09-13 53 views
10

是否可以從aspx.cs後面的代碼動態添加javascript引用?從代碼後面添加JavaScript參考(C#)

像這樣:

private void AddScriptReference(string path) 
{ 
    //Add reference to <head></head> 
} 

應導致腳本引用被添加到頁面的頭,像這樣:

<html> 
    <head> 
     <script type="text/javascript" src="path-to-script.js"></script> 
    </head> 
</html> 

這可能嗎?

回答

8

對於那些想知道誰的語法,那就是:

母版頁:

<asp:ScriptManager ID="ScriptManager" EnablePageMethods="true" runat="server"></asp:ScriptManager> 

後面的代碼:

ScriptReference sr = new ScriptReference("path-to-js.js"); 
ScriptManager sm = (ScriptManager)this.Master.FindControl("ScriptManager"); 
sm.Scripts.Add(sr); 

或者:

ScriptManager.RegisterClientScriptInclude(this.Page, GetType(), "UniqueID", "path-to-js.js"); 

但這些解決方案都不是實際上將腳本添加到頁面的頭部..

26

位遲了,但認爲我會發佈一個答案,以防萬一其他人需要它。該解決方案無需ScriptManager。

基本上,這只是創建控件然後添加到頭部的情況。這是代碼。

LiteralControl javascriptRef = new LiteralControl("<script type='text/javascript' src='path_to_script.js'></script>"); 

Page.Header.Controls.Add(javascriptRef); 
+0

我很欣賞非ScriptManager解決方案。它允許以編程方式將腳本鏈接加載到標題中(例如,我在主頁中使用它來管理站點頁面上的.js權重)。 – secretwep 2014-01-16 23:34:23