Come posso utilizzare runat = “server” a un tag script in asp.Net
-
29-09-2019 - |
Domanda
non ho necessariamente bisogno di eseguirlo sul server, tuttavia, vorrei utilizzare la sintassi ~/js/somefile.js
.
In precedenza, avevo appena impostato il tutto con percorsi assoluti e impostare il mio progetto per essere al livello principale. SO, avevo appena dichiarare tutti i miei fogli di stile, immagini di sfondo e file JavaScript qualcosa come /css/somefile.css
Tuttavia, per questo progetto, non viene eseguito come root.
Non riesco a mettere runat="server"
su un tag script.
posso metterlo su un tag link, però.
Questo deve essere un problema comune con poche risposte semplici.
Soluzione
è quello che ho sempre fatto utilizzare un tag script
normale e mettere il src
nei tag <% %>
, come illustrato qui :
<script language="javascript" src='<%=ResolveUrl("~/App_Themes/MainTheme/jquery.js")%>' type='text/javascript'></script>
Altri suggerimenti
È possibile utilizzare la ScriptManager per questo:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/js/somefile.js" />
</Scripts>
</asp:ScriptManager>
È possibile utilizzare le funzioni all'interno della stringa di percorso, però, per es.
<script type="text/javascript"
src="<%=Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>
Tuttavia questa è la sintassi ASP.NET MVC per percorsi locali -. Non riesco a ricordare la versione forme fuori dalla parte superiore della mia testa ??p>
È possibile ottenere pienamente ciò che si vuole da tag script che sposta con il asp: ContentPlaceHolder e la si può accedere da codice dietro, ad esempio set sarà esso essere eseguito o non impostando visibile di proprietà di true o false . Ecco l'esempio:
<asp:ContentPlaceHolder runat="server" ID="PrintPreviewBlock" Visible="false">
<script id="PrintPageCall" type="text/javascript" >
$(function() {
window.print();
});
</script>
</asp:ContentPlaceHolder>
e dal codice dietro:
PrintPreviewBlock.Visible = true;
<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script>