我们的基本主页包含以下内容

  <head runat="server">
   <title></title>

   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script>
   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script>
   <asp:contentplaceholder id="cph_htmlhead" runat="server">

   </asp:contentplaceholder>
  </head>

如果此主页是ASPX页面的主页,则可以正常工作。

如果此母版页是儿童母版页的母版页,然后新的ASPX页使用子母版页作为其母版页,我们会看到:

''应用程序中的服务器错误。

无法修改Controls集合,因为控件包含代码块(即<!> lt;%...%<!> gt;)。

在保留波浪号(〜)样式相对路径的基本主页中包含全局资源(Javascript / CSS)的首选方法是什么?

有帮助吗?

解决方案

使用ScriptManager服务器控件:

  <asp:ScriptManager ID="myScriptManager" runat="server">
    <Scripts>
      <asp:ScriptReference Path = "~/javascript/actions.js" /> 
      <asp:ScriptReference Path = "~/javascript/jquery/jquery-1.2.6.min.js" />
    </Scripts>
  </asp:ScriptManager>

其他提示

你试过了吗?

<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/javascript/actions.js") %>'></script>

根据 ScottGu

要利用的一个技巧是head runat = <!>“server <!>”提供的相对路径修复支持;控制。您可以在母版页中使用它来轻松引用在整个项目中重复使用的.CSS样式表(无论项目是根引用还是子应用程序):

头控件的路径修复功能将获取相关的.CSS样式表路径,并在运行时正确输出样式表的绝对路径,无论它是根引用的网站还是子网站的一部分应用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top