Pregunta

¿Cuál es la mejor manera de utilizar varios campos EVAL en un GridView ItemTemplate?

Buscando tener cierto control sobre el formato de apariencia, así como sobre la configuración de hipervínculos/javascript, etc.

¿Fue útil?

Solución

Aún más claro, en mi opinión, es:

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

Otros consejos

Anteriormente había usado esto (malo, lo sé):

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

Resultado = 'Juan - Smith'

Pero acabo de descubrir que también puedo poner DOS (o más) evaluaciones en el mismo grupo vinculado a datos:

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

Resultado = 'Juan - Smith'

O

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

Resultado = 'Nombre - John, Apellido - Smith'

Eval y Bind apestan.
¿Por qué obtener la propiedad mediante reflexión?Puedes acceder directamente así:

((MyObject)Container.DataItem).MyProperty

No es que usted desconozca el objeto en tiempo de ejecución.Esos son mis dos centavos, de todos modos.

Tengo una manera más fácil de hacer lo mismo...

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

.

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

Aquí ambos objetos se convierten en cadenas y los concatenan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top