ASP.NET MVC中CSS中的根目录

时间:2012-08-24 17:18:11

标签: html css asp.net-mvc asp.net-mvc-4 appharbor

我有一个使用ASP.NET MVC 4.5,它使用一些css文件。 css指的是一些图像。

css文件位于此路径中:

WebSiteRoot\Content\css\services\File.CSS

图片位于此路径中:

\WebSiteRoot\Content\img\servicesbubble\image.png

css有这样的呼唤:

background:transparent url('../../img/servicesbubble/image.png') no-repeat 0px 0px;

当我在localhost中运行应用程序时,它可以工作。但是当我上传到托管(Appharbor)它不起作用。 为什么?什么是应用程序根目录的最佳方式?

在服务器中,http get尝试使用此错误的URL

WebSite.com/img/servicesbubble/desktop.png

更新:我正在使用名为bundling的.NET framework 4.5功能将这些CSS与另一个CSS合并。

3 个答案:

答案 0 :(得分:2)

您的CSS文件路径似乎发生了变化。我看到的与您的网站相关的两个CSS文件是http://tulpepwebsite.apphb.com/Content/css/servicescss?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1http://tulpepwebsite.apphb.com/Content/GeneralCSS?v=9kvtUcooQua0D4nQT8wZ-4_Gm6OcRd-J5SkjMxwKiyQ1。 (另一个来自谷歌字体服务。)你需要弄清楚为什么会发生这种情况。

编辑:好的,我会猜测一下。你可能正在使用new ASP.NET 4.5 bundling feature。但是如果你这样做的话,将CSS苍蝇捆绑在不同的目录中是没有意义的。

答案 1 :(得分:2)

您的问题实际上来自于您将css缩小到与最初存在的CSS不同的目录。

更具体地说: http://tulpepwebsite.apphb.com/Content/css/servicescss ?v = sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1

所以../../会把你带到http://tulpepwebsite.apphb.com/Content

CSS文件中的网址始终与CSS文件本身的位置有关。

答案 2 :(得分:0)

您的CSS位置与您的想法不同:

WebSiteRoot\Content\css\File.CSS

而不是

WebSiteRoot\Content\css\services\File.CSS