Pergunta

A nossa base Masterpage tem algo parecido com o seguinte

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

Se este Masterpage é o Masterpage para uma página coisas funcionam bem ASPX.

Se este Masterpage é o Masterpage para uma criança Masterpage e, em seguida, uma nova página ASPX usa a criança Masterpage como é MasterPage vemos:

Erro no servidor '' Aplicação.

A coleção Controls não pode ser modificado porque o controle contém blocos de código (ou seja, <% ...%>).

O que é a forma preferida para incluir recursos globais (JavaScript / CSS) em uma base Masterpage preservar til (~) estilo pathing parente?

Foi útil?

Solução

Use o controle de servidor 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>

Outras dicas

Você tentou:

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

De acordo com ScottGu ,

Uma dica para aproveitar é o suporte correção de caminho relativo fornecido pelo runat cabeça = controle "servidor". Você pode usar isso dentro de páginas mestras para referenciar facilmente uma folha de estilo .CSS que é re-utilizado em todo o projecto (independentemente do projeto está raiz referenciado ou uma sub-aplicativo):

O recurso fix-up caminho do controle da cabeça, em seguida, tomar o caminho .CSS estilo relativa e corretamente saída o caminho absoluto para a folha de estilo em tempo de execução, independentemente de se tratar de uma raiz referenciada web-site ou parte de um sub- inscrição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top