ASP.NET的HyperLinkField没有ToolTip属性(Alt文本)

9

我希望HyperLinkField中也有ToolTip字段,就像在HyperLink中一样。 我正在创建一个HyperLinkField并将其绑定到我的数据源:

HyperLinkField hl = new HyperLinkField(); 
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";

有没有办法为某个元素设置一个值,这个值可以被呈现为工具提示(或alt文本)?任何帮助将不胜感激。

2个回答

12

没错,在HyperlinkField中没有工具提示/alt文本属性。为了解决这个缺点,您需要使用模板字段并添加常规的超链接控件。

<asp:TemplateField HeaderText="Href">
    <ItemTemplate>
       <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#
          Eval("Href") %>' Text='<%# Eval("Href") %>' ToolTip='<%# Eval("Text")         %>'> 
       </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

然而,以编程方式实现这一点需要大量的工作。您需要创建一个实现ITemplate接口的自定义类。这里有一个关于此的tutorial

当你从网页上复制代码时,应该提供该网页的链接。 - womp

7

您的要求可以在<asp:HyperlinkField>本身中通过在GridViewRowDataBound事件中为特定单元格添加工具提示来实现。绑定数据源后,您可以在RowDataBound事件中执行以下操作:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    e.Row.Cells[0].ToolTip = "Your tooltip text";
}

虽然你已经接受了其他答案,但我的回答可能对其他用户有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接