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.

È stato utile?

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!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top