Применить класс CSS к изображению в asp: Гиперссылка? - PullRequest
9 голосов
/ 15 сентября 2009

Я использую asp: Hyperlink для динамического рендеринга связанных изображений на основе параметров в URL. Мне нужно иметь возможность добавить класс CSS к отображаемому img, и я не могу понять, как это сделать.

Я знаю, что могу добавить "CssClass =" blah "" к гиперссылке asp:, но в отображаемом HTML только a получает класс css. Как это:

<a href="assets/images/blah.jpg" class="blah" id="ctl00_LeftContent_alternateImage4">
<img style="border-width: 0px;" src="assets/images/blahThumbnail.jpg"/>
</a>

Я нашел другой вопрос , который позволяет мне добавить встроенный стиль в элемент управления, но я хочу добавить класс к img, который генерирует asp: Hyperlink.

Можно ли сделать что-то похожее на этот ответ:

myControl.Attributes.Add("style", "color:red");

Как, может быть?:

myControl.img.Attributes.Add("class", "blah");

Ответы [ 4 ]

11 голосов
/ 15 сентября 2009

Похоже, вы используете свойство ImageUrl HyperLink. Я бы порекомендовал создать внутренний элемент управления изображениями явно:

<asp:HyperLink runat="server" CssClass="linkclass" NavigateUrl="http://example.com">
   <asp:Image runat="server" CssClass="imgClass" ImageUrl="yourimage.jpg" />
</asp:HyperLink>
2 голосов
/ 15 сентября 2009

Просто используйте код CssClass="blah", как вы пытались, но затем в вашем файле CSS:

.blah img {border-width: 0px;}

Это предназначается для img тегов внутри элементов с классом .blah.

0 голосов
/ 18 июня 2014

Расширение ответа @jrummell:

Если ваше изображение динамически добавляется в код позади, вы можете добиться того же, выполнив следующие действия:

<% (lnkImage.Controls[0] as Image).CssClass = "some-class"; %>
0 голосов
/ 16 июля 2011

Вы можете попробовать что-то похожее на это:

HyperLink1.Attributes("onmouseover") = "this.firstChild.src='Images/MouseOver.jpg'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...