ASP.NET无法加载CSS和Javascript文件
我在使用ASP.NET时遇到了一个非常奇怪的问题。 我有一个小网站。我已经写了一个简单的母版页,在网站的大部分页面上都有使用 我想包括引导和jQuery的CSS和Javascript文件。当我在母版页中将URI指向远程位置时(见下文),一切正常:ASP.NET无法加载CSS和Javascript文件,javascript,jquery,css,asp.net,twitter-bootstrap,Javascript,Jquery,Css,Asp.net,Twitter Bootstrap,我在使用ASP.NET时遇到了一个非常奇怪的问题。 我有一个小网站。我已经写了一个简单的母版页,在网站的大部分页面上都有使用 我想包括引导和jQuery的CSS和Javascript文件。当我在母版页中将URI指向远程位置时(见下文),一切正常: <head runat="server"> <title></title> <asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
无论我是否使用ContentPlaceHolder
,结果都是一样的
如果你能帮助我解决这个问题,我会非常棒-提前感谢。在阅读了一些非常有用的评论后,我很快就发现并解决了这个问题的原因,这对发布这些评论的用户来说是一种荣誉 问题是由
404
s(尝试访问js
和css
文件时)引起的。404
s发生的原因是:
- URL不正确-虽然我使用了
(home)字符,但不知何故它被转换为相对于页面的路径~
404
示例(确保“日志记录”处于打开状态:
我通过使用ResolveUrl
解决了这个问题。
例子:
- 解决第一个问题后,
s仍然存在 我试图通过浏览器直接访问这些文件,但出现了一个404
错误-这意味着服务器正在阻止对IIS 404.8
文件夹的访问。这是IIS服务器在某些预定义文件夹名上的默认行为(包括App\u LocalResources
,App\u本地资源
,bin
等)App\u数据
css
和js
文件移动到一个名为res
的文件夹中,这就成功了
最终,母版页中的
部分如下所示:
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="<%= ResolveUrl("~/res/css/bootstrap.min.css") %>" />
<script src="<%= ResolveUrl("~/res/js/jquery.min.js") %>"></script>
<script src="<%= ResolveUrl("~/res/js/bootstrap.min.js") %>"></script>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
如果你想在本地使用它,你不能使用CDN。你可以下载文件并将其放在脚本文件夹中。当然。我想我不是100%清楚这个问题-我将所有相关文件分别下载到~/res/css/
和~/res/js/
。你检查过浏览器检查器中的错误吗?我敢打赌如果您检查了URL的解析目的以及错误原因,则可能会发现错误。您是否在浏览器中看到这些文件的404?感谢更新和非常详细的自我回答。
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="<%= ResolveUrl("~/res/css/bootstrap.min.css") %>" />
<script src="<%= ResolveUrl("~/res/js/jquery.min.js") %>"></script>
<script src="<%= ResolveUrl("~/res/js/bootstrap.min.js") %>"></script>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>