2010-09-13 56 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