asp.net HyperLinkField没有ToolTip属性(Alt文本)

时间:2009-04-29 18:50:02

标签: asp.net hyperlink tooltip

我希望HyperLinkField中有一个ToolTip字段,因为HyperLink中有一个字段。 我在绑定到我的数据源之前通过代码创建HyperLinkField:

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

有没有办法将值设置为将呈现为工具提示(或alt文本)的内容? 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:12)

这是正确的, HyperlinkField 中没有工具提示/替代文字属性。要解决这个缺点,您需要使用模板字段并添加常规的超链接控件。

<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

答案 1 :(得分:6)

您的要求可以在<asp:HyperlinkField>本身通过在RowDataBound GridView事件中为该特定单元格添加工具提示来完成。将GridView绑定到DataSource后,您可以在RowDataBound事件中执行此操作,如下所示:

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

虽然您已接受另一个答案,但我的回答可能对其他一些用户有帮助!