所以我通过VS项目发布了一个网站 - >发布网站 - > FTP。当我打开它时,我发现一切都不合适,好像该网站根本没有css。我开始查看网站的HTML和本地版本的HTML,最重要的是我注意到了这一点:
在线:
<title>
...
</title><script src="/bundles/modernizr?v=wBEWDufH_8Md-Pbioxomt90vm6tJN2Pyy9u9zHtWsPo1"></script>
<link href="/Content/css?v=0mo0uNbGUFWt4hgQ0AZZm5kcuaVkDkYEBh4UeS1mWi41" rel="stylesheet"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
本地主机:
<title>
...
</title><script src="/Scripts/modernizr-2.6.2.js"></script>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/Site.css" rel="stylesheet"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
应该是相同的,但看起来.NET在单个文件中合并了相同扩展名的文件。到目前为止,我想这就是<webopt:bundlereference runat="server" path="~/Content/css" />
的用途。
但是文件/Content/css?v=0mo0uNbGUFWt4hgQ0AZZm5kcuaVkDkYEBh4UeS1mWi41
甚至没有打开,它会返回403.14 - Forbidden
错误
错误的原因是什么?如何解决?
答案 0 :(得分:2)
所有CSS文件都已捆绑到一个文件中。当你有debug =&#34; true&#34;在web.config文件中的system.web编译标记中。
将其关闭,重新编译,然后您应该在本地看到该文件。
答案 1 :(得分:1)
默认情况下,在名为Bundle.config的webforms应用程序中创建了一个文件。它包含缺少的css包的定义。你删除了它,或者你发布的文件中是否遗漏了它?这可能会导致你所看到的。我删除了我的所有css消失了,因为现在它没有将该URL与捆绑包匹配。
它叫做Bundle.config,它位于根文件夹中,它包含:
<?xml version="1.0" encoding="utf-8" ?>
<bundles version="1.0">
<styleBundle path="~/Content/css">
<include path="~/Content/bootstrap.css" />
<include path="~/Content/Site.css" />
</styleBundle>
</bundles>