Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apply CSS Class to Image in asp:Hyperlink?

Tags:

c#

css

asp.net

I'm using asp:Hyperlink to render linked images dynamically based on parameters in the URL. I need to be able to add a CSS class to the rendered img, and can't figure out how to do that.

I know I can add "CssClass="blah"" to the asp:Hyperlink, but in the rendered HTML, only the a receives the css class. Like this:

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

I've found another question that allows me to add inline style to a control, but I want to add a class to the img that asp:Hyperlink generates.

Is it possible to do something similar to this answer:

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

Like, maybe?:

myControl.img.Attributes.Add("class", "blah");
like image 319
Sarah Jean Avatar asked Sep 15 '09 18:09

Sarah Jean


2 Answers

It looks like you're using the ImageUrl property of HyperLink. I would recommend creating the inner image control explicitly:

<asp:HyperLink runat="server" CssClass="linkclass" NavigateUrl="http://example.com">
   <asp:Image runat="server" CssClass="imgClass" ImageUrl="yourimage.jpg" />
</asp:HyperLink>
like image 126
jrummell Avatar answered Oct 21 '22 16:10

jrummell


Just use the CssClass="blah" code like you were trying, but then in your css file:

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

That targets img tags inside of elements with the .blah class.

like image 26
Joel Coehoorn Avatar answered Oct 21 '22 15:10

Joel Coehoorn