asp.net HyperLinkField non ha proprietà ToolTip (testo alternativo)
Domanda
Vorrei che ci fosse un campo ToolTip in HyperLinkField in quanto ce n'è uno in HyperLink. Sto creando un HyperLinkField per codice prima di associarlo alla mia origine dati:
HyperLinkField hl = new HyperLinkField();
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";
Esiste un modo per impostare anche un valore su qualcosa che verrà visualizzato come descrizione comando (o testo alternativo)? Qualsiasi aiuto sarà apprezzato.
Soluzione
Esatto, non ci sono proprietà text toolp / alt in un HyperlinkField . Per ovviare a questa mancanza, è necessario utilizzare un campo modello e aggiungere un controllo Hyperlink regolare.
<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>
Tuttavia, farlo in un programma richiede molto lavoro. Devi creare la tua classe che implementa il Interfaccia ITemplate . Ecco un tutorial su questo.
Altri suggerimenti
Il tuo requisito può essere soddisfatto in <asp:HyperlinkField>
stesso aggiungendo una descrizione per quella specifica cella in RowDataBound
evento di GridView
. Dopo aver associato GridView al tuo DataSource puoi farlo in un <=> evento come segue:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].ToolTip = "Your tooltip text";
}
Sebbene tu abbia accettato un'altra risposta, la mia risposta potrebbe essere utile per alcuni altri utenti!