首页 > 解决方案 > 如何正确地将 wwwroot 中的图像提供给“页面”子文件夹中的剃须刀页面?

问题描述

我有一个创建渐变幻灯片的 JavaScript 函数。它使用目录中的图像:

“wwwroot/图像/背景”

如果我加载直接位于Pages文件夹内的页面,则图像会正确加载。但是,如果我加载子文件夹内的页面,浏览器会尝试从该文件夹内而不是从根文件夹中获取图像。

所以而不是

“本地主机/图像/背景/bg1.jpg”

我明白了

“‘页面’文件夹/图像/背景/bg1.jpg中的本地主机/子文件夹”

我还是新手,所以我不确定为什么 wwwroot 文件夹不能正确地提供图像,但是我将我的默认页面设置为同一个子文件夹中的一个并且它运行良好,所以我很茫然在什么问题。

在这一点上,任何想法或解决方案将不胜感激。

标签: c#asp.netasp.net-corevisual-studio-coderazor-pages

解决方案


您正在从相对路径加载图像- 即恰好位于当前目录下的路径。您希望它基于绝对路径- 即,不在同一个目录中,无论页面在哪里。为此,请在路径的开头使用斜杠:/wwwroot/images/backgrounds

这实际上是设计使然 - 假设您的 Web 应用程序中有需要它们自己的图像的子目录。然后,您可以加载图像,就像 images/pageBackground.png与用户所在的每个页面相关的图像一样 - 非常方便!只要记住前导斜杠 - 这意味着从应用程序的虚拟根目录而不是当前子目录开始这个路径- 你会得到正确的文件!


推荐阅读