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

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

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

有帮助吗?

解决方案

这是正确的, 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 界面。这是一个 教程

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top