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.