【问题标题】:ASP.NET MVC 2 not displaying images in CSS filesASP.NET MVC 2 不在 CSS 文件中显示图像
【发布时间】:2010-06-27 16:08:01
【问题描述】:

我编写了一个小应用程序,它在使用开发服务器时运行良好,但是一旦我在本地机器 (IIS 7) 上切换到 IIS,我就会丢失图像和样式。

我尝试使用 Url.Content 以及母版页中的样式和图像,但我仍然丢失了从 CSS 样式引用的图像

有什么方法可以让它在本地模式和通过 localhost/iis 工作?

我怀疑这与虚拟目录有关,但对 IIS 不太了解,无法确定。

谢谢。

【问题讨论】:

  • 你的css文件中的图片是否使用相对路径?
  • 是的,他们使用相对路径。我还检查以确保图像已发布(它们是)。我真的不想在 css 文件中硬连线图像路径。如果我这样做,它会将应用程序锁定到特定的虚拟目录。
  • 检查 firebug 中图像文件的路径,然后尝试通过将其复制并粘贴到带有 base url 的地址栏中来在浏览器中打开它们。你绝对看不到它们。检查 url 中的各种组合。我猜你使用了错误的相对路径
  • Firebug 报告:localhost/MyApp/Content/css/style.css(未找到)。有趣的是,当我直接尝试时,路由引擎接管了。我认为 iis 是静态提供 .css 文件的。 localhost/MyApp/Content/images/header.gif 很好,但localhost/MyApp/Content/css/style.css 回来要求登录(我已经保护了应用程序)。打算尝试更多的东西..
  • 您还有问题吗?您已经接受了建议您发布图像的答案,但您说您已经这样做了。现在有不同的问题吗?据我所知,MVC 正在尝试将 CSS 文件提供给您的浏览器,如果是这种情况,那么我会查看您的 IIS 配置,以确保您没有配置 ASP.NET 来处理 CSS 文件。听起来你可能需要在 MVC 代码中调整路由。

标签: c# css iis image asp.net-mvc-2


【解决方案1】:

您是否发布或上传了您的图片?如果您没有将图像添加到项目中,它们将不会被发布。

更多问题:

您是否更新了任何路由规则?如果是这样,请将它们展示给我们。您是否在控制器上声明了任何授权属性?

【讨论】:

  • @Sunil,你能告诉我们你的样式表和图片在哪里吗?请将您的部分 CSS 上传到此处。
  • 图片位于:Content/images/*.gif 样式位于:Content/css/style.css 下面是一个示例样式:div#header { background-image: url(../. ./Content/images/header.gif);位置:相对;高度:47px;边距:0px 0px 15px 0px; }
  • 我又添加了一些问题。但是接下来,这个样式表中提到的任何样式是否出现在生成的输出 html 页面中?
  • 我将 style.css 移动到与 Site.css 相同的级别。然后我检查了我是否可以使用浏览器看到 Site.css .. 我可以。然后我检查了style.css,你瞧,它告诉我找不到文件……奇怪,两个文件都在那里。我开始怀疑我是不是在与 vista 权限问题作斗争
  • 哈!!没有权限,css文件被加密了。这意味着 iis7 无法提供加密文件。现在可以看到 css 并且布局是正确的。只剩下图像了..越来越近:)
猜你喜欢
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 2015-11-13
  • 1970-01-01
  • 2012-03-25
  • 2013-08-02
  • 2015-08-07
相关资源
最近更新 更多