Méthode privilégiée pour inclure une référence relative à JavaScript dans VS 2008 Masterpage imbriquée

StackOverflow https://stackoverflow.com/questions/183859

Question

Notre page principale comporte quelque chose comme ce qui suit

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

Si cette page maîtresse est la page maîtresse d'une page ASPX, tout fonctionne correctement.

Si cette page maîtresse est la page maîtresse d'une page maîtresse enfant, une nouvelle page ASPX utilise la page maîtresse enfant en tant que page maîtresse que nous voyons:

Erreur du serveur dans l'application ''.

La collection de contrôles ne peut pas être modifiée car le contrôle contient des blocs de code (<% ...% >).

Quel est le moyen préféré pour inclure des ressources globales (Javascript / CSS) dans une Masterpage de base préservant le chemin relatif du style tilde (~)?

Était-ce utile?

La solution

Utilisez le contrôle serveur 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>

Autres conseils

Avez-vous essayé:

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

Selon ScottGu ,

Un conseil à prendre en compte est le support de correction de chemin relatif fourni par la tête runat = " serveur " contrôle. Vous pouvez l'utiliser dans les pages maîtres pour référencer facilement une feuille de style .CSS qui est réutilisée dans l'ensemble du projet (que le projet soit référencé à la racine ou à une sous-application):

La fonctionnalité de correction du chemin du contrôle principal prendra alors le chemin relatif de la feuille de style .CSS et générera correctement le chemin absolu vers la feuille de style au moment de l'exécution, qu'il s'agisse d'un site Web référencé racine ou d'une partie d'un sous-site. application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top