在 VS 2008 嵌套 Masterpage 中包含对 JavaScript 的相对引用的首选方法 [英] Preferred way to include relative reference to JavaScript in VS 2008 nested Masterpage

查看:29
本文介绍了在 VS 2008 嵌套 Masterpage 中包含对 JavaScript 的相对引用的首选方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的基础 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>

这篇关于在 VS 2008 嵌套 Masterpage 中包含对 JavaScript 的相对引用的首选方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆