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

KP.*_*KP. 8 javascript asp.net master-pages nested relative-path

我们的基础母版页具有如下内容

  <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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

Kon*_*Kon 10

使用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>
Run Code Online (Sandbox Code Playgroud)


Sha*_*ler 5

你有没有尝试过:

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