В моем приложении 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
), меня перенаправляют на страницу входа. Возможно, мне не хватает настроек доступа или безопасности? Я еще ничего не сделал с элементами управления входом в систему (представление учетной записи по умолчанию и контроллер находятся в моем проекте, но я еще ничего не сделал с ними), и я могу нормально просматривать все остальные мои страницы.
Обновление: Я наконец понял это. Файл изображения, о котором идет речь, был зашифрован. Щелкните правой кнопкой мыши файл изображения и перейдите к свойствам, нажмите кнопку «Дополнительно» на вкладке «Общие», снимите флажок «Зашифровать содержимое для защиты данных», нажмите «ОК», «ОК».
Наконец-то пришла подсказка, когда я заметил, что имя файла в Проводнике Windows было зеленым. Я вижу зеленые имена файлов без проблем, поэтому я ничего не думал об этом. Затем я заметил, что это был единственный зеленый файл во всей папке веб-приложения. Положите два и два вместе, и это сработало мгновенно. Спасибо всем за помощь.