【问题标题】:<httpErrors> not showing css or images<httpErrors> 不显示 CSS 或图像
【发布时间】:2018-03-17 09:49:25
【问题描述】:

在我的 web.config 中,我正在尝试处理服务器错误,我已将此代码放在 &lt;system.webServer&gt; 中:

<httpErrors errorMode="Custom" defaultResponseMode="File">
      <remove statusCode="404"/>
      <error statusCode="404" path="FileNotFoundError.html" />
      <remove statusCode="403"/>
      <error statusCode="403" path="NoAccessErrorPage.html" />
</httpErrors>

当我尝试访问 http://localhost:12112/asdd 时,asdd 引用任何目录或文件。我得到了具有适当样式和图像的所需页面。但是,当我在一个不存在的目录中点击 http://localhost:12810/asdd/asdd 一个额外的目录时,我不再得到我的 css 或 Image。

这是我的图像定义src="Images/Image1.png" 我在头部的 css 定义:&lt;link rel="stylesheet" type="text/css" href="style.css" /&gt;

注意:如果我使用内联样式,我可以获得我的 css,但我没有办法使用 Image,如果可能的话,我想使用外部样式表。

【问题讨论】:

  • 您是否在 fiddler 或 chrome 开发者工具中观察到它试图访问哪些 css url?
  • 它正在尝试访问 /asdd/style.css
  • 这是它试图加载的错误地址。考虑下面关于如何设置图像和css文件的url的答案。

标签: c# css asp.net .net web-config


【解决方案1】:

您应该使用 ~ 运算符 (msdn):

src="~/Images/Image1.png"

ASP.NET 包括 Web 应用程序根运算符 (~),您可以 在服务器控件中指定路径时使用。 ASP.NET 解决了 ~ 运算符到当前应用程序的根目录。你可以用~ 运算符与文件夹一起指定基于路径的路径 在当前根目录上。

【讨论】:

  • 它在 asdd 中寻找 ~。但是 /Images/Image1.png 运作良好。或者说如果我之前有/ei,我必须给/ei/Images/Image1.png。 ~ 运算符不起作用,我不知道为什么它不起作用。
  • @BhavyaArora 您能否准备示例解决方案并发布它,例如到github?解决您的问题会更简单。
猜你喜欢
  • 2016-12-05
  • 1970-01-01
  • 2012-12-11
  • 2019-02-27
  • 2015-02-18
  • 1970-01-01
  • 2016-11-12
相关资源
最近更新 更多