AJAX-URL-Routing-Problem in IIS mit virtuellem Verzeichnis

8

Ich habe ein .NET MVC3 -Projekt bekommen, das gerade auf einen tatsächlichen Server innerhalb eines virtuellen Verzeichnisses verteilt wurde. Nennen wir es VirtDir . Meine JavaScript-Dateien hatten alle URLs für AJAX wie folgt definiert:

%Vor%

was lokal gut funktioniert hat.

Auf dem tatsächlichen Server, der zuerst "/" das virtuelle Verzeichnis beendet, bekomme ich

"/Home/Save/" anstelle von "/VirtDir/Home/Save/" , was offensichtlich fehlschlägt.

Wenn ich das erste "/" lösche, werden die Dinge lokal unterbrochen, was dazu führt, dass die URL an die URL der aktuellen Seite angehängt wird: Wenn Sie sich auf "/Home/Index" page befinden, würde die AJAX-URL auf

"/Home/Index/Home/Save" .

Mein JavaScript befindet sich in separaten * .js Dateien, daher kann ich nicht wirklich @Url.Content auf sie schreiben.

Weiß jemand eine gute Lösung für dieses Problem?

    
Dimskiy 25.05.2011, 20:53
quelle

1 Antwort

22

Sie können Ihrer Layoutdatei oder Masterseite, die das Stammverzeichnis in eine JS-Variable schreibt, Code hinzufügen, bevor Sie die JS-Datei einfügen. Dann können Sie diese Variable verwenden, um den Pfad in Ihrer JS-Datei zu erstellen.

Im Rasiermesser:

%Vor%

Dann können Sie einfach Ihre URL wie folgt in Ihrer Datei erstellen:

%Vor%     
Brian 25.05.2011, 21:04
quelle