用户登录
用户注册

分享至

在 VS 2008 嵌套 Masterpage 中包含对 JavaScript 的相对引用的首选方法

  • 作者: 嗫?暁雲?
  • 来源: 51数据库
  • 2022-10-28

问题描述

我们的基础 Masterpage 有如下内容

Our base Masterpage has something like the following

  <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>

如果此 Masterpage 是 ASPX 页面的 Masterpage,则一切正常.

If this Masterpage is the Masterpage for an ASPX page things work fine.

如果此母版页是子母版页的母版页,然后新的 ASPX 页面使用子母版页,就像我们看到的母版页一样:

If this Masterpage is the Masterpage for a child Masterpage and then a new ASPX page uses the child Masterpage as it's MasterPage we see:

应用程序"中的服务器错误.

Server Error in '' Application.

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

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

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

推荐答案

使用 ScriptManager 服务器控件:

Use the ScriptManager server control:

  <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>
软件
前端设计
程序设计
Java相关