Frage

Dies kann ein schmerzlich einfach, für die Frage ich verspottet werden, aber Ich habe Schwierigkeiten beim Dateipfad in Masterpages in Verwendung. Ich glaube, das liegt daran, dass, wenn eine Seite in einem Unterverzeichnis des Masterpage zu verwenden, dann der Dateipfad nicht korrekt ist.

Um dies zu beheben ich den Dateipfad von der Wurzel bekommen müssen, aber ich kann nicht scheinen, um es zu arbeiten.

Ich habe versucht:

            <script type="text/javascript" src="~/jQueryScripts/jquery.js"></script> 

und

            <script type="text/javascript" src="../jQueryScripts/jquery.js"></script> 

Kein Glück auf entweder!

Alle Ideen, wie ich ihm sagen kann, den Dateipfad von der Wurzel zu bekommen? Danke:)

War es hilfreich?

Lösung

Ich gehe davon nur durch filepath, die Sie tatsächlich url bedeuten (oder uri, ich vergessen, die man teilweise ist).

Ohne die ~ sollte das erste Beispiel arbeiten. <script type="text/javascript" src="/jQueryScripts/jquery.js"></script> würde bewirken, dass der Browser http://www.example.com/jQueryScripts/jquery.js anfordern (wo www.example.com ist Ihre Domäne).

Andere Tipps

Wenn Sie eine AJAX-fähige Website laufen lassen, siehe meine Antwort auf Bevorzugte Art und Weise relativ Bezug auf JavaScript in vS 2008 verschachtelt MasterpaDE aufzunehmen.

Ich glaube, Sie runat=server im <head> Tag des MasterPage für diese URL Umbasierung haben müssen, arbeiten.

<head runat="server">

Als erstes die Tilde vor einer asp.net Sache für den Einsatz in Server-Steuerelemente und wird in der einfachen HTML nicht.

Ohne auf detaillierte Erklärungen bekommen Sie nur einen Schrägstrich (/) vor nutzen könnten, und auch den Web-App-Name, wenn sie nicht die Wurzel-Website.

Oder könnten Sie Code in Ihrer Masterseite dynamisch mit den Skripten setzen, und lassen Sie es die Wegfindung behandeln. Wie:

    public void AddJavascript(string javascriptUrl)
    {   
        HtmlGenericControl script = new HtmlGenericControl("script");
        script.Attributes.Add("type", "text/javascript");
        javascriptUrl += "?v" + Assembly.GetExecutingAssembly().GetName().Version;
        script.Attributes.Add("src", ResolveUrl(javascriptUrl));
        Page.Header.Controls.Add(script);
    }

Der obige Code anhängt auch die Montage-Version. Ich benutze dies vor allem für die Entwicklung so meine Javascript-Dateien aktualisiert werden, wenn ich bauen.

Sie könnten die verwenden Page.ResolveUrl Methode, dies zu umgehen

Beispiel:

<script type="text/javascript" src="<%=Page.ResolveUrl("~/jQueryScripts/jquery.js")%>"></script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top