2012-01-02 3 views
2

Хорошо, таким образом у меня есть простой фрагмент HTML Input:Изображение появляется в расчетном режиме VS, но не в браузере

<input id="txtFirstName" type="text" class="txtBox" runat="server" /> 

Который подключили к этому CSS собственности:

.txtBox 
{ 

    background: url("/Images/lu/input_bg.png") repeat-x scroll left bottom transparent; 
    border: 1px solid #E0E6EF; 
    padding: 3px; 
    width: 275px; 

} 

Образ отображается в окне дизайна Visual Studios, но не тогда, когда я просматриваю его в браузере. Что дает?

+2

Вы уверены, что развернутый сайт находится в корневом каталоге вашего веб сервер? Это может быть то, что локально вы его развернули в корне, например. http: // localhost: 8012/Изображения, но на удаленном сайте это может быть http: // your_url/your_site/images. Это одна потенциальная причина, так как тогда вам нужно будет использовать относительный URL-адрес или /your_site/images/lu/input_bg.png. – dash

+0

@dash Я смог решить проблему, используя ваше предложение. Вы должны поместить свой комментарий в ответ, чтобы я мог его принять. – broke

+0

Рад помочь. См. Мой ответ на несколько предложений о том, как локально можно локализовать удаленную настройку с помощью встроенного веб-сервера в Visual Studio. Также вам нечего мешать вам размещать IIS локально (если вам разрешено запускать IIS на вашей локальной машине!) – dash

ответ

1

Часто, когда вы разрабатываете локально, Visual Studio будет размещать сайт по адресу http://localhost:port - это значение по умолчанию при использовании встроенного веб-сервера для веб-приложений и проектов веб-сайтов.

При развертывании на удаленном сайте он может находиться в виртуальном каталоге, который не является корневым сайтом; поэтому на самом деле ваш URL удаленного приложения будет примерно http://yourdomain.ext/your_site/, который изменяет пути для изображений. Решение состоит в том, чтобы либо включить имя виртуального каталога в ваш путь (/your_site/images/image.jpg), либо использовать относительные пути.

Я предпочитаю первый, поскольку он сохраняет все пути согласованными, и его можно смоделировать локально в Visual Studio.

Для проектов веб-приложений см. «Свойства решения» (щелкните правой кнопкой мыши узел решения в обозревателе решений и выберите свойства) - Веб (вкладка слева) - и найдите текстовое поле «Виртуальный путь» и измените соответствующим образом (например,/'to'/your_site ')

Для проектов веб-сайтов щелкните узел «Решение» в обозревателе решений и просмотрите диалоговое окно «Свойства». Последний вариант - виртуальный путь.

+0

Это хороший совет. спасибо – broke

1

Попробуйте обновить URL-адрес.

background: url("./Images/lu/input_bg.png") repeat-x scroll left bottom transparent; 
+0

Я все еще не работал – broke

+0

Обновлен мой ответ, если это имеет значение. –

1

Проверьте свой путь на сервере. Можете ли вы получить доступ к изображению на сайте yoursite.com/Images/lu/input_bg.png? Действительно ли это изображения, а не изображения?

+0

Да, я могу получить доступ к изображению. – broke

+0

@broke Тогда нам нужна ссылка. – Rob

0

У меня была такая же проблема. Мое изображение не появилось в браузере. И потом я решил. я добавил два точечных начала моего пути изображения, как этот

<img src="../Images/icon48x48.png" alt="myLogo" width="48" height="48" /> 
0

Вы также можете очистить кэш браузера. У меня была проблема, когда я устанавливал фон DIV, используя css-файл, и изображение отображалось только в firefox или IE. После того как я очистил кэш Chrome и перезапустил сайт, появились изображения.

Если мое изображение находится: MySite/App_Themes/Image

и мой файл CSS находится в App_themes ссылке как этот: Изображение/myfile.css

Смежные вопросы