2009-09-15 11 views
9

私はasp:Hyperlinkを使用して、リンクされた画像をURLのパラメータに基づいて動的にレンダリングしています。私は、レンダリングされたimgにCSSクラスを追加する必要があり、それを行う方法を理解できません。CSSクラスをasp:ハイパーリンクの画像に適用しますか?

asp:ハイパーリンクに "CssClass =" blah ""を追加できますが、レンダリングされた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> 

私は私がコントロールにインラインスタイルを追加することができますが、私は、ASP IMGにクラスを追加したいanother questionを見つけました。

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

答えて

11

HyperLinkのImageUrlプロパティを使用しているようです。私は明示的に内側のイメージコントロールを作成することをお勧めします:

+0

素晴らしいです!ありがとう、これは私が必要としていたものです –

2

はちょうどあなたがしようとしていたようCssClass="blah"コードを使用するかもしれない?:

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

と同様に、しかし、あなたのCSSファイルで:

この回答に似た何かをすることは可能です:ELEMの内側 imgタグをターゲットにし

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

.blahクラスのクラスです。

+0

私はより多くのそれはだspecific--されている必要があります私はimgにスタイリングを追加する必要はありません。あなたの答えは確かに私に教えてくれるはずです。それはjavascriptでそのクラスに基づいてイメージをターゲットにしようとしています。 –

0

あなたはこれに似た何かを試してみてください:あなたのイメージが背後にあるコードに動的に追加されている場合は

:@jrummell答えを拡張

HyperLink1.Attributes("onmouseover") = "this.firstChild.src='Images/MouseOver.jpg'" 
0

を次のことをやって同じことを達成することができます

<% (lnkImage.Controls[0] as Image).CssClass = "some-class"; %> 
関連する問題