Ich benutze jQuery Lightbox für meine Bildergalerie.
Die URL für das Schaltflächenbild lautet ' ../../Content/Lightbox/lightbox-btn-next.gif
'
Das funktioniert gut, wenn meine URL ' localhost/Something1/Somtehing2
' ist
Wenn ich eine andere Route wie ' localhost/Something1/Something2/Something3
' verwende, ist die URL zu den Schaltflächenbildern falsch.
Kann ich Url.Action()
in .js-Dateien verwenden?
So rufe ich .js-Dateien auf:
Ich füge folgendes in meine Masterseite ein, die sehr ähnlich ist wie @ Url.Content ('~ / path'):
%Vor%Wenn meine Masterseite kompiliert und bereitgestellt wird, wird dies in eine JavaScript-Funktion übersetzt, die meinen Site-Root auf den Pfad anwendet. Funktioniert super. Die regex path.replace entfernt einfach einen führenden Schrägstrich, wenn es einen gibt, da @ Url.Content ("~ /") einen abschließenden Schrägstrich hat.
Ich ziehe es vor, die URLs aus den hrefs eines Tags zu ziehen oder "action's" - oder ein anderes Element, das Sinn macht.
%Vor%Und in meinem Javascript (überprüfe das auf jQuery, ich bin mir nicht sicher, ob es die genaue Syntax ist.):
%Vor%Eine weitere etwas weniger bevorzugte Option besteht darin, Ihre Einstellungen über Ihrer Datei hinzuzufügen:
%Vor%Ich sagte "weniger bevorzugt", weil dieser Ansatz Markup und Code mischt.
Ein weiterer Ansatz (der viel Aufräumen erfordert) besteht darin, Ihre js-Datei von einem Controller aus zu bedienen:
%Vor%Tags und Links asp.net-mvc jquery url-routing