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

use*_*889 9 asp.net tooltip hyperlink

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

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

有没有办法设置一个值作为工具提示(或alt文本)?任何帮助将不胜感激.

Jos*_*lio 12

这是正确的,HyperlinkField中没有tooltip/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>
Run Code Online (Sandbox Code Playgroud)

但是,在程序化中执行此操作需要大量工作.您需要创建自己的类来实现ITemplate接口.这是一个关于它的教程.


ban*_*iya 6

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

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

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