Domanda

Qual è il modo migliore per utilizzare più campi EVAL in un ItemTemplate GridView?

Cercando di avere un certo controllo sulla formattazione dell'aspetto e sull'impostazione di collegamenti ipertestuali/javascript ecc.

È stato utile?

Soluzione

Ancora più chiaro, secondo l'IMO, è:

<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>

Altri suggerimenti

In precedenza avevo usato questo (pessimo, lo so):

<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>

Risultato = 'Giovanni - Smith'

Ma ho appena scoperto che posso anche inserire DUE (o più) Valutazioni nello stesso gruppo associato a dati:

<%#Eval("Name1") & " - " & Eval("Name2")%>

Risultato = 'Giovanni - Smith'

O

<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>  

Risultato = 'Nome - John, Cognome - Smith'

Eval e Bind fanno entrambi schifo.
Perché ottenere la proprietà attraverso la riflessione?Puoi accedervi direttamente in questo modo:

((MyObject)Container.DataItem).MyProperty

Non è che l'oggetto ti sia sconosciuto in fase di esecuzione.Questi sono i miei due centesimi, comunque.

Ho un modo più semplice per fare la stessa cosa...

<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>

.

<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>

Qui entrambi gli oggetti vengono convertiti in stringhe per concatenarli.

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