Bevorzugte Art und Weise relativ Bezug auf JavaScript in VS 2008 verschachtelt MasterpaDE einschließen
-
06-07-2019 - |
Frage
Unsere Basis MasterpaDE hat so etwas wie das folgende
<head runat="server">
<title></title>
<script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script>
<script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script>
<asp:contentplaceholder id="cph_htmlhead" runat="server">
</asp:contentplaceholder>
</head>
Wenn diese MasterpaDE ist die Masterpage für eine ASPX-Seite Dinge funktionieren.
Wenn dies MasterpaDE die MasterpaDE für ein Kind MasterpaDE ist und dann eine neue ASPX-Seite verwendet das Kind MasterpaDE wie es Master ist, die wir sehen:
Serverfehler in '' Anwendung.
Die Controls-Auflistung kann nicht geändert werden, da die Steuercode-Blöcke enthält (d.h. <% ...%>).
Was ist der bevorzugte Weg, globale Ressourcen (Javascript / CSS) in einer Basis MasterpaDE Erhaltung Tilde (~) Stil relativ Wegfindung enthalten?
Lösung
Mit der Scriptmanager-Server-Steuerung:
<asp:ScriptManager ID="myScriptManager" runat="server">
<Scripts>
<asp:ScriptReference Path = "~/javascript/actions.js" />
<asp:ScriptReference Path = "~/javascript/jquery/jquery-1.2.6.min.js" />
</Scripts>
</asp:ScriptManager>
Andere Tipps
Haben Sie versucht:
<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/javascript/actions.js") %>'></script>
Wie pro ScottGu ,
Ein Tipp zu nutzen ist die relative Pfad Fix-up-Unterstützung durch den Kopf Runat bereitgestellt = „server“ -Steuerung. Sie können innerhalb von Master-Seiten verwenden diese leicht einen .CSS Sheet zu verweisen, die über das gesamte Projekt (unabhängig davon, ob das Projekt Wurzel verweist oder eine Unteranwendung) wiederverwendet wird:
Der Weg Fix-Up-Funktion der Kopfsteuerung wird dann mit dem relativen .CSS Sheet Pfad und korrekt ausgegeben den absoluten Pfad zum Stylesheet zur Laufzeit unabhängig davon, ob es dich um eine Wurzel referenzierten Web-Site oder einen Teil eines Unter ist Anwendung.