asp.net HyperLinkField не имеет свойства ToolTip (замещающий текст)
Вопрос
Мне бы хотелось, чтобы в HyperLinkField было поле ToolTip, поскольку оно есть в HyperLink.Я создаю HyperLinkField по коду перед привязкой к источнику данных:
HyperLinkField hl = new HyperLinkField();
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";
Есть ли способ также установить значение для чего-то, что будет отображаться как всплывающая подсказка (или замещающий текст)?Любая помощь будет оценена по достоинству.
Решение
Это верно, в файле нет свойства всплывающей подсказки/замещающего текста. Поле гиперссылки.Чтобы обойти этот недостаток, нужно использовать поле шаблона и добавить обычный элемент управления «Гиперссылка».
<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>
Однако для этого в программатике требуется много работы.Вам нужно создать свой собственный класс, реализующий IT-шаблон интерфейс.Вот руководство на том.
Другие советы
Ваше требование может быть выполнено в <asp:HyperlinkField>
себя, добавив всплывающую подсказку для этой конкретной ячейки в RowDataBound
событие GridView
.После привязки GridView к вашему источнику данных вы можете сделать это в RowDataBound
событие следующим образом:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].ToolTip = "Your tooltip text";
}
Хотя вы приняли другой ответ, мой ответ может быть полезен некоторым другим пользователям!