net ejemplo dinamicamente asp argument agregar asp.net data-binding gridview eval

asp.net - ejemplo - La mejor técnica para múltiples campos de evaluación en Gridview ItemTemplate?



commandargument gridview asp.net c# (4)

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

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

Resultado = ''John - Smith''

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

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

Resultado = ''John - Smith''

O

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

Resultado = ''Nombre - John, Apellido - Smith''

¿Cuál es la mejor manera de usar múltiples campos EVAL en un GridView ItemTemplate?

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


Eval y Bind ambos chupan.
¿Por qué obtener la propiedad a través de la reflexión? Puedes acceder a él directamente así:

((MyObject)Container.DataItem).MyProperty

No es como si el objeto fuera desconocido para ti en tiempo de ejecución. Esos son mis dos centavos, de todos modos.


Incluso más claro, IMO, es:

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


Tengo la 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 cadena y los concatenan.