如何在asp.net中的脚本标签上使用runat =“ server”
-
29-09-2019 - |
题
我不一定需要在服务器上运行它,但是,我想使用 ~/js/somefile.js
句法。
以前,我只是用绝对路径设置了所有内容,并将我的项目设置为根层。因此,我只是声明所有样式表,背景图像和JavaScript文件类似 /css/somefile.css
但是,对于此项目,它不作为root运行。
我不能 runat="server"
在脚本标签上。
不过,我可以将其放在链接标签上。
这必须是一些简单答案的常见问题。
解决方案
我一直做的是使用普通 script
标记并放置 src
在 <% %>
标签,如图所示 这里:
<script language="javascript" src='<%=ResolveUrl("~/App_Themes/MainTheme/jquery.js")%>' type='text/javascript'></script>
其他提示
您可以为此使用ScriptManager:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/js/somefile.js" />
</Scripts>
</asp:ScriptManager>
但是,您可以在路径字符串中使用功能,例如
<script type="text/javascript"
src="<%=Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>
但是,这是本地路径的ASP.NET MVC语法 - 我不记得我头顶上的表单版本。
您可以通过将脚本标签与 ASP:ContentPlaceholder您可以从后面的代码访问它,例如,设置是否通过设置执行或不执行 可见的 财产为 真的 或者 错误的。这是一个例子:
<asp:ContentPlaceHolder runat="server" ID="PrintPreviewBlock" Visible="false">
<script id="PrintPageCall" type="text/javascript" >
$(function() {
window.print();
});
</script>
</asp:ContentPlaceHolder>
从背后的代码:
PrintPreviewBlock.Visible = true;
取自 dailycoding.com:
<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script>
不隶属于 StackOverflow