首页 > 解决方案 > 共享布局中的图像不会显示在区域中的一个视图上 - 显示在所有其他视图上

问题描述

我的应用程序有一个用于特定区域的布局。布局为 in /Views/Shared,面积为/Areas/MyArea。该布局包含一个日/夜切换器,我正在使用以下 Jquery 代码段更改切换器上显示的图像。

function SetMode() {

    if ($('body').hasClass('night-mode')) { // set to day mode
        $('body').removeClass('night-mode').addClass('day-mode');

        $('.mode-picker img').attr('src', '../../Content/Images/night-shift.png');
    } else { // set to night mode
        $('body').removeClass('day-mode').addClass('night-mode');

        $('.mode-picker img').attr('src', '../../Content/Images/day-shift.png');
    }

}

在除该区域之外的所有视图上,这都按预期工作。但是,一个视图不显示图像,而是显示以下错误:/MyArea/Content/Images/day-shift.png 404 (Not Found). 换句话说,在这一视图中,布局正在查找内容文件夹的区域,而不是实际的内容文件夹。

我尝试将图像复制到该路径上的文件夹中,然后我在图像上得到一个通用的 404 错误。视图上没有任何东西会干扰布局或模式选择器元素中的任何内容。老实说,我不确定这里发生了什么,因为这不是我以前遇到过的事情。

标签: javascriptjqueryhtmlasp.net-mvc

解决方案


不要对 img src 属性使用相对路径。由于您在同一站点上运行脚本,因此使用完整的 URL 引用没有问题。


推荐阅读