【问题标题】:Apply CSS Class to Image in asp:Hyperlink?在 asp:Hyperlink 中将 CSS 类应用于图像?
【发布时间】:2010-11-28 13:41:31
【问题描述】:

我正在使用 asp:Hyperlink 根据 URL 中的参数动态呈现链接图像。我需要能够向渲染的 img 添加一个 CSS 类,但不知道该怎么做。

我知道我可以将 "CssClass="blah"" 添加到 asp:Hyperlink,但在呈现的 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>

我发现another question 允许我向控件添加内联样式,但我想向 asp:Hyperlink 生成的 img 添加一个类。

是否可以做类似这个答案的事情:

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

喜欢,也许?:

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

【问题讨论】:

    标签: c# asp.net css


    【解决方案1】:

    您可以尝试类似的方法:

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

    【讨论】:

      【解决方案2】:

      扩展@jrummell 答案:

      如果你的图片是在后面的代码中动态添加的,你可以通过以下方式实现同​​样的效果:

      <% (lnkImage.Controls[0] as Image).CssClass = "some-class"; %>
      

      【讨论】:

        【解决方案3】:

        您似乎正在使用 HyperLink 的 ImageUrl 属性。我建议明确创建内部图像控件:

        <asp:HyperLink runat="server" CssClass="linkclass" NavigateUrl="http://example.com">
           <asp:Image runat="server" CssClass="imgClass" ImageUrl="yourimage.jpg" />
        </asp:HyperLink>
        

        【讨论】:

          【解决方案4】:

          只需像您尝试的那样使用 CssClass="blah" 代码,然后在您的 css 文件中:

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

          .blah 类元素内的img 标记为目标。

          【讨论】:

          • 我应该更具体一点——这并不是说我需要为 img 添加样式,你的回答肯定会让我这样做,而是我试图根据它来定位该图像使用 javascript 类
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-31
          • 1970-01-01
          • 2015-02-02
          • 2015-06-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多