forma preferida de incluir a referência relativa ao JavaScript no VS 2008 aninhada Masterpage
-
06-07-2019 - |
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?
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.