在我的 ASP.NET MVC 应用程序中,我通过 CSS 引用背景图像。当我在开发环境中运行它时,它们显示得很好。但是当我部署它(使用 IIS 7.5)时,图像根本不加载。我已经尝试了相对路径和 background
/background-image
CSS 标签的每种组合,但没有任何效果。这是我的文件结构和 CSS:
文件结构:
Content
CSS file
images
image.png
CSS:
background-image: url(/images/bsb_header2.png);
我也尝试了../images/bsb_header2.png
和../../images/bsb_header2.png
但无济于事。
真正奇怪的是,当我尝试直接访问图像(即www.website.com/images/image.png
)时,我被重定向到登录页面。也许我缺少一些访问或安全设置?我还没有对登录控件进行任何操作(默认帐户 View 和 Controller 在我的元素中,但我还没有对它们进行任何操作),并且我可以很好地查看所有其他页面。
更新:我终于弄清楚了。相关图像文件已加密。右键单击图像文件并导航到属性,单击常规选项卡上的高级按钮,取消选中“加密内容以保护数据”,然后单击“确定”,“确定”。
当我注意到 Windows 资源管理器中的文件名呈绿色时,终于收到了提示。我一直看到绿色的文件名,没有任何问题,所以我没有多想。然后我注意到它是整个网络应用程序文件夹中唯一的绿色文件。将两个和两个放在一起,它立即起作用。感谢大家的帮助。
最佳答案
请添加两个用户 IUSR, IIS_IUSRS 到发布文件夹并为其分配读取和执行权限
关于CSS 图像未在 ASP.NET MVC 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5575535/