J'essaie d'ajouter une référence script à jQuery dans ma page principale afin qu'elle fonctionne pour n'importe quelle page. Actuellement, cela ressemble à ceci
<script type="text/javascript" src="jquery.js"></script>
Le problème est que le chemin d'accès est toujours relatif à la page aspx en cours d'exécution. Cela ne fonctionnera donc que si le fichier "jquery.js" se trouve dans le même dossier. Pour que cela fonctionne, je dois changer la ligne en :
<script type="text/javascript" src="../../jquery.js"></script>
Cette méthode est évidemment loin d'être idéale, car elle ne fonctionne que pour les pages situées à deux niveaux du dossier racine. Si j'essaie ce qui suit, IIS affiche une erreur concernant un caractère inattendu.
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Des idées ?
EDIT : J'ai oublié de mentionner également que le script DOIT être dans la balise head.
La première réponse actuelle génère un " Le cadre côté client d'ASP.NET Ajax n'a pas réussi à se charger. "lorsque je l'ajoute à ma page principale. Elle est générée par le javascript et non par le compilateur .Net. Si je déplace le ScriptManager dans la section head où il devrait se trouver, j'obtiens une erreur de compilation car le ScriptManager doit se trouver à l'intérieur d'une balise de formulaire.
La troisième réponse génère un " Caractères illégaux dans le chemin. "exception du compilateur
EDIT 2 : Lorsque j'ajoute cette ligne à ma balise head, j'obtiens cette erreur de IIS.
La collection Controls ne peut pas être modifiée car le contrôle contient des blocs de code (c'est-à-dire <% ... %>).
SOLVÉ : J'ai pris la réponse éditée de la réponse ci-dessous et je l'ai mise à l'intérieur d'un fichier de type asp:ContentPlaceHolder élément