Требуется ли runat="server" для тегов HTML, имеющих стиль CSS, созданный ASP.NET?

Я получил этот тег div, чье фоновое изображение устанавливается в CSS, используя такой метод, как этот...

Встроенный CSS: -

.id0, .mySprite:hover div
    {
        background-image: url(<%=GetImage()%>);
        background-repeat: no-repeat;
        width: 728px;
        height: 243px;

    }

HTML: -

<div class="id0"></div>

Теперь мне нужно установить runat="server" в этом теге div или нет? Потому что это не дает никакой ошибки, но мне было интересно, может быть, мне нужно, потому что путь к изображению выбирается из кода позади... изображение не появляется в этом пользовательском элементе управления.

3 ответа

Решение

Что ж,

  • "Runat=Server" не нужен вообще.CSS загружается / ассоциируется на клиенте (в brwoser) в любом случае.
  • Извините, чувак, но файлы.CSS не оцениваются ASP.NET - поэтому, по сути, "URL", который получает браузер, <%=GetImage()%>С которым браузер явно ничего не может сделать.

Результат: не работает. Не может работать.

Вы генерируете CSS из серверного кода? Или это простой файл.css? Если у вас есть файл.css, код: background-image: url (<%=GetImage()%>); не работает.

И затем, css правило для div с id id0, вы должны определить его с # not dot (#id0 not .id0)

Зачем вам нужен сервер для генерации пути? Путь к изображению должен быть относительно файла CSS, поэтому, если ваш файл CSS находится в проекте /css/style.css, а изображение находится в проекте /images/myimage.jpg, используйте

background-image: url(../images/myimage.jpg);

Кроме того, используйте firebug, чтобы проверить, что действительно устанавливается в качестве фонового изображения. Вы также можете попробовать

background-image: url(../images/myimage.jpg) !important;
Другие вопросы по тегам