Изображение в общем макете не будет отображаться на одном виде в области - отображается на всех остальных - PullRequest
0 голосов
/ 06 января 2019

Мое приложение имеет макет, который используется в определенной области. Расположение в /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 на изображении. В представлении нет ничего, что мешало бы что-либо в макете или элементе выбора режима. Я, честно говоря, не уверен, что здесь происходит, так как раньше я с этим не сталкивался.

1 Ответ

0 голосов
/ 06 января 2019

Не используйте относительные пути для атрибута img src. Поскольку вы запускаете скрипт на том же сайте, нет проблем с использованием полных ссылок URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...