Ich versuche, einen Skriptverweis auf jQuery in meiner Masterseite hinzuzufügen, damit er für jede Seite funktioniert. Derzeit sieht es so aus
<script type="text/javascript" src="jquery.js"></script>
Das Problem ist, dass der Pfad immer relativ zur ausführenden aspx-Seite ist, so dass dies nur funktioniert, wenn sich die Datei "jquery.js" im selben Ordner befindet. Damit es funktioniert, muss ich die Zeile zu ändern:
<script type="text/javascript" src="../../jquery.js"></script>
Dies ist natürlich nicht ideal, da es nur für Seiten funktioniert, die zwei Ebenen tiefer als der Stammordner liegen. Wenn ich das Folgende versuche, gibt IIS eine Fehlermeldung über ein unerwartetes Zeichen aus.
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Irgendwelche Ideen?
EDITAR: Ich habe auch vergessen zu erwähnen, dass das Skript im head-Tag stehen MUSS
Die aktuelle Top-Antwort wirft ein " ASP.NET Ajax Client-seitiges Framework konnte nicht geladen werden. "Fehler, wenn ich es zu meiner Masterseite hinzufüge. Er wird von Javascript und nicht vom .Net-Compiler ausgelöst. Wenn ich den ScriptManager in den Kopfabschnitt verschiebe, wo er sein sollte, erhalte ich einen Kompilierungsfehler über den ScriptManager, der innerhalb eines Formular-Tags sein muss.
Die dritte Antwort führt zu einem " Unzulässige Zeichen im Pfad. " Ausnahme des Compilers
EDIT 2: Wenn ich diese Zeile zu meinem head-Tag hinzufüge, erhalte ich diese Fehlermeldung von IIS.
Die Controls-Sammlung kann nicht geändert werden, da das Steuerelement Codeblöcke enthält (d.h. <% ... %>)
GELÖST: Ich habe die bearbeitete Antwort aus der folgenden Antwort in ein asp:ContentPlaceHolder Element