我希望HyperLinkField中有一个ToolTip字段,因为HyperLink中有一个字段。 我在绑定到我的数据源之前通过代码创建HyperLinkField:
HyperLinkField hl = new HyperLinkField();
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";
有没有办法将值设置为将呈现为工具提示(或alt文本)的内容? 任何帮助将不胜感激。
答案 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";
}
虽然您已接受另一个答案,但我的回答可能对其他一些用户有帮助!