在Site.Master页面中,我引用了一些CSS和JS文件。 当子文件夹中的页面使用此母版页时,我可以通过在其前面添加必要的../来查看css文件的路径是否被正确翻译,但在JS的调试窗口中查看时,JS文件不会导致404错误
我厌倦了用runat = server来强制翻译;没用;尝试使用Page.ResolveURL,它没有提供任何错误消息,但似乎打破了脚本,不知道我该如何工作。
在Site.Master中:
<!-- Bootstrap Core CSS -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
对于子文件夹中的.aspx页面,它会正确显示如下:
<link href="../assets/css/bootstrap.min.css" rel="stylesheet" />
对于JS文件,以下都不起作用。
这个显示与子文件夹中的同一文件一样:
<!-- Bootstrap Core JavaScript -->
<script src="assets/scripts/bootstrap.min.js"></script>
这个没有显示404错误;一个“/&lt; sitename&gt; /”会被添加到路径中,但脚本不起作用(例如,下拉菜单不会丢失)
<!-- Bootstrap Core JavaScript -->
<script src='<%= Page.ResolveUrl("~/assets/scripts/bootstrap.min.js") %>'></script>
这一次,我认为我不能这样做!
<!-- Bootstrap Core JavaScript -->
<script runat="server" src="~/assets/scripts/bootstrap.min.js"></script>
答案 0 :(得分:1)
我找到了答案here。该帖子提供了一些选项,但是作为答案的Edit2列出的内容对我有用:
<!-- jQuery -->
<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/assets/scripts/jquery.js") %>' ></script>
<!-- Bootstrap Core JavaScript -->
<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/assets/scripts/bootstrap.min.js") %>' ></script>