是否可以从aspx.cs后面的代码中动态添加javascript引用?
像这样:
private void AddScriptReference(string path)
{
//Add reference to <head></head>
}
应该导致脚本引用被添加到页面的头部,如下所示:
<html>
<head>
<script type="text/javascript" src="path-to-script.js"></script>
</head>
</html>
这可能吗?
答案 0 :(得分:26)
有点迟,但我想我会发布一个答案,以防其他人需要它。该解决方案无需使用ScriptManager。
基本上,这只是创建一个控件然后添加到头部的情况。这是代码。
LiteralControl javascriptRef = new LiteralControl("<script type='text/javascript' src='path_to_script.js'></script>");
Page.Header.Controls.Add(javascriptRef);
答案 1 :(得分: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");
但这些解决方案实际上都没有将脚本添加到页面的头部..
答案 2 :(得分:6)
您可以使用ASP.NET Ajax ScriptManager
来执行此操作。
将其添加到您的母版页,然后使用代码隐藏中的ScriptManager.RegisterClientScriptInclude
。