【问题标题】:How can I determine which call to a resource is failing?如何确定对资源的哪个调用失败?
【发布时间】:2013-08-21 05:23:16
【问题描述】:

我在 Chrome 开发工具的“网络”选项卡中收到此错误消息:

加载资源失败:服务器响应状态为 400(错误请求)http://localhost/%3C%=%20System.Configuration.ConfigurationManager.AppSettings[%22ThisApp%22]%20% %3E/Content/Images/SSCSsprite.png

...但是该图像确实存在,在该位置和其他地方加载正常(我稍后在网络堆栈中看到它,状态代码为 304)。那么如何确定对该图像的哪个引用是错误的呢?

有些地方像这样引用该文件:

background-image: url('/@ConfigurationManager.AppSettings["ThisApp"]/Content/Images/SSCSsprite.png'); 

...但其他人正在使用这种老式风格:

background:#344f9b url('/<%= System.Configuration.ConfigurationManager.AppSettings["ThisApp"] %>/Content/Images/SSCSsprite.png') repeat-x 0 -368px;

【问题讨论】:

  • 我非常怀疑http://localhost/%3C%=%20System.Configuration.ConfigurationManager.AppSettings[%22ThisApp%22]%20%%3E/Content/Images/SSCSsprite.png 的存在。
  • 特别是,您在未预处理的文件中使用 Razor 和 ASPX 代码。
  • 所以我应该将所有对该 .png 的引用转换为第一种格式?我不确定为什么这比引用“/TLDReporter/Content/Images/SSCSsprite.png”更好(TLDReporter 是项目的名称)。
  • 你把background-image: url('/@ConfigurationManager.AppSettings["ThisApp"]/Content/Images/SSCSsprite.png'); 放在哪里了?如果这在您的 css 文件中,那么这就是您的问题所在。
  • 到处都是;我认为这个应用程序是多年来以一种仓促的方式创建的/“你又怀孕了?我会把另一个房间钉在棚子后面”的时尚。一些地方是 Application.Master 的

标签: html asp.net visual-studio-2010 png google-chrome-devtools


【解决方案1】:

在我看来,您似乎正试图将 Razor 代码和/或 asp.net 内联脚本放入外部样式表中。据我所知,这是不可能的。

所以基本上你的背景是用图像 url 渲染的

`/@ConfigurationManager.AppSettings["ThisApp"]/Content/Images/SSCSsprite.png` 

`/<%= System.Configuration.ConfigurationManager.AppSettings["ThisApp"] %>/Content/Images/SSCSsprite.png`

然后依次进行 URL 编码。

我建议您更新您的背景图片参考。

【讨论】:

  • “更新”就像将它们全部更改为剃刀样式?
  • 如果它们在外部样式表中,那么不,您不能将 Razor 放入其中。你需要有实际的路径。您可以将 background-image 样式放在您的 _Layout 页面中,然后将 Razor 脚本添加到其中。
  • 不,都是在线的东西;除了 3rd-party CSS 文件之外,还没有太多使用外部 CSS 文件的方式。
  • 很高兴能帮上忙! :)
猜你喜欢
  • 2011-12-07
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
相关资源
最近更新 更多