asp.net HyperLinkField не имеет свойства ToolTip (замещающий текст)

StackOverflow https://stackoverflow.com/questions/803725

  •  03-07-2019
  •  | 
  •  

Вопрос

Мне бы хотелось, чтобы в 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";
}

Хотя вы приняли другой ответ, мой ответ может быть полезен некоторым другим пользователям!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top