9

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

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

有什么方法可以为将呈现为工具提示(或替代文本)的内容设置值?任何帮助将不胜感激。

4

2 回答 2

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接口的类。这是一个教程

于 2009-04-29T18:56:29.553 回答
7

您的要求可以通过<asp:HyperlinkField>在. 将 GridView 绑定到 DataSource 后,您可以在事件中执行此操作,如下所示:RowDataBoundGridViewRowDataBound

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

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

于 2011-08-31T10:33:32.830 回答