No tiene que preocuparse por la fuente de datos (Dataread o conjunto de datos) cuando usa DataBinder.eval. No tiene que preocuparse por el tipo de datos que eval convertirá este objeto de datos en una cadena. Se trabajó mucho en el enlace subyacente, utilizando capacidades de reflexión. El hecho de que sea cómodo de usar afecta el rendimiento de los datos. Cuando está vinculado a un conjunto de datos, DataItem es en realidad un DataRowView (si está vinculado a un lector de datos (lectura de datos), es un IdataRecord). Por lo tanto, convertirlo directamente a un DataRowView mejorará en gran medida el rendimiento.
Nota al usar: 1. Preste atención a las mayúsculas y minúsculas de los nombres de los campos (preste especial atención). Si no coincide con la consulta, en algunos casos será más lento que <%# DataBinder.Eval(Container.DataItem, "field name") %>. 2. Si desea mejorar aún más la velocidad, puede utilizar el método <%# ((System.Data.DataRowView)Container.DataItem)[0] %>. Sin embargo, su legibilidad no es alta.
//Cuando se utiliza DataSet como fuente de datos
//Situación normal (C#)
<%# ((System.Data.DataRowView)Container.DataItem)["Title"] %>
// Cadena de formato de campo de fecha de enlace
<%# Convert.ToDateTime(((System.Data.DataRowView)Container.DataItem)
["FbTime"]).ToString("aaaa año MM mes dd día") %>
<% # DataBinder .Eval(Contenedor, "DataItem.FbTime","{0:yyyyMMmonthddDay}") %>
//El enlace de cadena excede la longitud especificada y se trunca
<%# DataBinder.Eval(Container.DataItem, "Text").ToString().Trim().Length>7?
DataBinder.Eval(Container.DataItem, "Text" ) .ToString().Trim().Substring
(0,7):DataBinder.Eval(Container.DataItem, "Texto").ToString().Trim() %>
//Convierte el precio a 2 decimales
<%# Convert.ToDecimal(((System.Data.DataRowView)Container.DataItem) ["Price"]).ToString("F2") %>
<%# DataBinder.Eval ( Contenedor, "DataItem.Price","{0:F2}") %>
'Juez después del formato de precios en VB.net
<%# IIf(DataBinder.Eval(Container.DataItem, "precio","{0:F2}")="0.00","Negociable",DataBinder.Eval(Container.DataItem, "precio","{0: F2}")+"万") %>
'Vb.net General
<%# Ctype(Container.DataItem,DataRowView).Row("Título") %>
http://www.cnblogs.com/wintersun/archive/2006/08/11/474135.html