Ich versuche, auf meiner Masterseite einen Skriptverweis auf jQuery hinzuzufügen, damit er für jede Seite funktioniert. Es sieht derzeit so aus
<script type="text/javascript" src="jquery.js"></script>
Das Problem ist, dass der Pfad immer relativ zur ausführenden Aspx-Seite ist, sodass dies nur funktioniert, wenn sich die Datei "jquery.js" im selben Ordner befindet. Damit es funktioniert, muss ich die Zeile ändern in:
<script type="text/javascript" src="../../jquery.js"></script>
Dies ist offensichtlich nicht ideal, da es nur für Seiten funktioniert, die zwei Ebenen tief vom Stammordner entfernt sind. Wenn ich Folgendes versuche, gibt IIS einen Fehler über ein unerwartetes Zeichen aus.
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Irgendwelche Ideen?
EDIT: Ich habe auch vergessen zu erwähnen, dass das Skript im Head-Tag sein muss
Die aktuelle Top-Antwort löst den Fehler "Das clientseitige ASP.NET Ajax-Framework konnte nicht geladen werden " aus, wenn ich es meiner Masterseite hinzufüge. Es wird aus Javascript und nicht aus dem .Net-Compiler geworfen. Wenn ich den ScriptManager in den Kopfbereich verschiebe, in dem er sich befinden soll, wird ein Kompilierungsfehler darüber angezeigt, dass sich der ScriptManager in einem Formular-Tag befinden muss.
Die dritte Antwort löst eine Ausnahme " Unzulässige Zeichen im Pfad " vom Compiler aus
BEARBEITEN 2: Wenn ich diese Zeile zu meinem Head-Tag hinzufüge, erhalte ich diesen Fehler von IIS.
Die Controls-Auflistung kann nicht geändert werden, da das Steuerelement Codeblöcke enthält (dh <% ...%>).
Gelöst: Ich habe die bearbeitete Antwort aus der folgenden Antwort genommen und in ein asp: ContentPlaceHolder- Element eingefügt