0

我需要在页面中添加特定的 js 文件。在Page_Load,我正在尝试这个:

ClientScript.RegisterClientScriptInclude("MyTab", HttpRuntime.AppDomainAppPath + "\\scripts\\" + tabName);

它不起作用。

4

3 回答 3

2

您可以尝试这个始终有效的解决方案。利用:

Page.Header.Controls.Add(new LiteralControl("<script type='text/javascript' src='script.js'></script>"));
于 2013-06-19T09:27:20.600 回答
0

确保您没有使用"MyTab"其他任何地方来注册脚本。这是脚本的关键

HttpRuntime.AppDomainAppPath将返回物理路径,这让我认为它可能会返回,例如C:\Program Files\...,这对访问该站点的人不起作用。

也许尝试:

ClientScript.RegisterClientScriptInclude("MyTab", Page.ResolveClientUrl("~\\scripts\\" + tabName));
于 2013-06-19T09:42:40.290 回答
0

您可以简单地执行此操作,而无需在代码隐藏中加载它:

 <asp:ScriptManager ID="sm" runat="server">
   <Scripts>
     <asp:ScriptReference Path="./script.js" />
   </Scripts>
</asp:ScriptManager> 

如果您想在运行时添加或更改脚本文件,只需将 ScriptManager 留在您的标记中并像这样访问它:

   ScriptManager sm = ScriptManager.GetCurrent(Page);
   if (Smgr != null) 
   {
     ScriptReference sr = new ScriptReference();
     sr.Path = "~/Scripts/Script.js";
     sm.Scripts.Add(sr);
   }
于 2013-06-19T09:26:08.347 回答