Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET无法加载CSS和Javascript文件_Javascript_Jquery_Css_Asp.net_Twitter Bootstrap - Fatal编程技术网

ASP.NET无法加载CSS和Javascript文件

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">

我在使用ASP.NET时遇到了一个非常奇怪的问题。 我有一个小网站。我已经写了一个简单的母版页,在网站的大部分页面上都有使用

我想包括引导和jQuery的CSS和Javascript文件。当我在母版页中将URI指向远程位置时(见下文),一切正常:

<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)字符,但不知何故它被转换为相对于页面的路径
在Firefox/Firebug控制台中看到的
404
示例(确保“日志记录”处于打开状态:

我通过使用
ResolveUrl
解决了这个问题。 例子:

  • 解决第一个问题后,
    404
    s仍然存在

    我试图通过浏览器直接访问这些文件,但出现了一个
    IIS 404.8
    错误-这意味着服务器正在阻止对
    App\u LocalResources
    文件夹的访问。这是IIS服务器在某些预定义文件夹名上的默认行为(包括
    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>