Wie fügt man JavaScript in MasterPage ein?

8

Ich erstelle eine ASP.NET Webform-Anwendung mit C # in VS 2012, .NET Framework 4.5

Ich habe eine MasterPage im Stammverzeichnis der Anwendung, JavaScript-Dateien befinden sich im Ordner js.

Hier ist das Problem: Wenn sich die Seite im Stammordner befindet funktioniert alles gut (css + js), wenn ich Seiten in Unterordner dann funktioniert css, aber diese JavaScripts sind überhaupt nicht funktionsfähig , offensichtlich ist der Referenzpfad falsch.

Also ist der CSS-Referenzpfad in Ordnung, aber für das Skript, egal was ich verwendet habe, sind sie alle nicht bearbeitet (js / script.js oder ~ / js / script.js oder /js/script.js oder ../ ResolveUrl, ResolClientveUrl ... oder alle Methoden in diesem Ссылка ) beziehen sich alle auf root / SUB-FOLDER / js / script.js anstatt auf root / js / script.js

im root: ein einzelner MasterPage-, Default.aspx-, test.aspx-, js-Ordner, Css-Ordner und Pages-Ordner. Standard-und Testseiten arbeiten Datei, aber alle Seiten im Ordner Pages ist nicht angezeigt .js SO OBLIVIV ist der Pfad falsch, wenn die Seiten nicht im Stamm

ist

Auf meiner Masterseite:

%Vor%

Das script.js ist etwas wie:

%Vor%

FEHLER im Entwicklerwerkzeug (Konsole) des Webbrowsers:

%Vor%     
Ronaldinho Learn Coding 17.12.2013, 18:06
quelle

4 Antworten

16

HTML

Normalerweise möchten Sie keine Skripts in <head /> neben Skripts wie Modernizr mit Feature-Erkennung. Es ist eher eine Best Practice, alle Skripte wie folgt auf den unteren Rand der Seite zu verschieben:

%Vor%


SCRIPT.JS

Der Verweis auf die anderen Skriptdateien in script.js erfordert, dass / wie folgt an 'js /' angehängt wird:

%Vor%


MISC

Vergessen Sie nicht, Ihren Cache zu leeren oder im privaten Browser zu arbeiten, während Sie all dies testen!

    
Code Maverick 17.12.2013, 18:57
quelle
2

Sie können eine .js-Datei entweder zwischen die Kopf-Tags, Content-Placeholder-Tags oder innerhalb der Body-Tags einfügen. Dies wird in allen Fällen auf Ihren anderen Seiten wiedergegeben, die diese Masterpage enthalten. Sie müssen sich nur auf die Art und Weise konzentrieren, in der der Pfad erstellt wird.

Der folgende Code fügt eine jquery-Datei zu einer masterpage im head-Bereich der masterpage hinzu.

%Vor%

%Vor%

%Vor%

Relativ zu absoluten URLs

Wenn Sie ../ und ~ / vor dem URL-Pfad verwenden, erstellen Sie eine relative URL. Die Pfade der relativen URLs werden beeinflusst, wenn Sie die Ordnerebene entweder der Datei, auf die Sie verweisen, oder der Datei, die die Verknüpfung enthält, ändern.

../ Symbol machen einen Schritt aus dem Ordner mit dem Link. Stellen Sie sicher, dass Sie genug "../" haben, um auf die richtige Datei zu verweisen.

~ / symbol erstellt einen Pfad, der an der Wurzel Ihres Projekts beginnt.

Um eine absolute URL zu erstellen, ziehen Sie einfach die Datei, die Sie auf der Seite einfügen möchten, aus dem Lösungsexplorer in Visual Studio auf die Seite.

Weitere Informationen zum Unterschied zwischen absoluter und relativer URL-Überprüfung Unterschied zwischen dem relativen Pfad und dem absoluten Pfad in JavaScript

    
Bee Dev 28.09.2014 22:41
quelle
0

Ersetzen Sie ~ / durch ../ . Eines meiner Projekte hat das gleiche gemacht und das hat es behoben.

Stellen Sie außerdem absolut sicher, dass der JS-Ordner auch auf dem Server (und nicht nur im Projekt) direkt unter dem Stammverzeichnis liegt.

    
Johnny Bones 17.12.2013 18:11
quelle
0

Sie sollten das Präfix ~ vor dem Speicherort der Datei verwenden. (so: ~/projects/files/web/admin )

    
Osman Villi 17.12.2013 18:53
quelle

Tags und Links