Wie kann ich runat = „server“ auf einem Script-Tag in asp.Net
-
29-09-2019 - |
Frage
ich nicht unbedingt brauchte es auf dem Server zu laufen, aber ich mag die ~/js/somefile.js
Syntax verwenden.
Früher hatte ich gerade eingestellt alles mit Absoluten Pfaden und setzen Sie mein Projekt auf Root-Ebene zu sein. SO, würde ich nur alle meine Sheets erklären, Hintergrundbilder und Javascript-Dateien so etwas wie /css/somefile.css
Doch für dieses Projekt, ist es nicht als root ausführen.
Ich kann nicht runat="server"
auf einem Script-Tag setzen.
Ich kann es auf einem Link-Tag setzen, though.
Das muss ein gemeinsames Problem mit ein paar einfachen Antworten sein.
Lösung
Was ich schon immer getan wird verwendet, einen normalen script
Tag und setzen Sie den src
in <% %>
Tags, wie dargestellt
Andere Tipps
Sie können die Script verwenden für diese:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/js/somefile.js" />
</Scripts>
</asp:ScriptManager>
Sie können Funktionen in der Pfadzeichenfolge verwenden, obwohl, z.
<script type="text/javascript"
src="<%=Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>
Allerdings, das ist die ASP.NET MVC-Syntax für lokale Pfade. - Ich nicht die Formulare Version aus der Spitze von meinem Kopf erinnern kann
können Sie erhalten voll, was Sie durch das Einwickeln Script-Tag wollen mit asp: Content und die Sie darauf zugreifen können von Code hinter, zum Beispiel Set wird er ausgeführt werden oder nicht, indem sichtbar Eigenschaft auf true oder false . Hier ist das Beispiel:
<asp:ContentPlaceHolder runat="server" ID="PrintPreviewBlock" Visible="false">
<script id="PrintPageCall" type="text/javascript" >
$(function() {
window.print();
});
</script>
</asp:ContentPlaceHolder>
und von Code hinter:
PrintPreviewBlock.Visible = true;
Genommen von dailycoding.com :
<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script>