在HyperLink控件中显示文本的问题

时间:2010-11-11 12:51:45

标签: asp.net

我正在使用ASP.NET 2.0

我希望我的超链接应该显示图像和我想要的文本。

像这样

<Image>Hyperlink

但如果我在ImageUrl控件中设置asp:hyperlink,那么它只会显示图片而非文字。

我该如何做指定的事情......

4 个答案:

答案 0 :(得分:5)

如果您定义了asp:Hyperlink类的 ImageUrl Text 属性,则 ImageUrl 优先,您无法使用超链接类作为控件容器。

要在同一链接中同时使用文本和图像,请使用HtmlAnchor。 实施例

     <a ID="htmlAnchor" runat="server" href="~/yourpagehere.aspx">
       <asp:Label ID="lblText" runat="server" ></asp:Label>
       <asp:Image ID="imgage" runat="server" ImageUrl="~/images/myimage.png"  />
    </a>

答案 1 :(得分:1)

ImageUrl属性(如果已指定)优先于链接的文本。要渲染图像和文本,您需要在超链接中放置一个Image元素:

<asp:HyperLink runat="server" NavigateUrl="foo.aspx">
    <asp:Image runat="server" ImageUrl="bar.png" />
    (link text)
</asp:HyperLink>

答案 2 :(得分:0)

我不确定它是否会表现得一样但是,你可以让asp:Linkbutton显示图像和文字。

基本上你通过css将图像作为背景提供给控件。

http://forums.asp.net/p/1024015/1391402.aspx

但我现在不能再尝试了,所以我不确定它会如何用超链接起作用。

答案 3 :(得分:0)

替代方法:您可以使用图像按钮。 On click方法可以在后端动态设置,也可以使用btnView.Attributes重定向到URL。只是另一种方法。

<ASP:IMAGEBUTTON id="btnView" onclick="btnView_Click"                   runat="server" imageurl="../images/buttons/view.gif"></ASP:IMAGEBUTTON>