DataBinder.eval を使用する場合、データ ソース (Dataread またはデータセット) について心配する必要はありません。 eval はこのデータ オブジェクトを文字列に変換しますので、データの種類を気にする必要はありません。リフレクション機能を使用して、基礎となるバインディングに対して多くの作業が行われました。使いやすいからといって、データのパフォーマンスに影響を与えます。データセットにバインドされている場合、DataItem は実際には DataRowView です (データ リーダー (dataread) にバインドされている場合は、IdataRecord です)。したがって、DataItem を DataRowView に直接変換すると、パフォーマンスが大幅に向上します。
使用時の注意: 1. フィールド名の大文字と小文字に注意してください (特に注意してください)。クエリと矛盾している場合、場合によっては <%# DataBinder.Eval(Container.DataItem, "フィールド名") %> よりも遅くなることがあります。 2. さらに速度を向上させたい場合は、<%# ((System.Data.DataRowView)Container.DataItem)[0] %> メソッドを使用できます。ただし、可読性は高くありません。
//DataSetをデータソースとして使用する場合
//通常の場合(C#)
<%# ((System.Data.DataRowView)Container.DataItem)["Title"] %>
//バインド日付フィールド形式文字列
<%# Convert.ToDateTime(((System.Data.DataRowView)Container.DataItem)
["FbTime"]).ToString("yyyy year MM month dd day") %>
<% # DataBinder .Eval(Container, "DataItem.FbTime","{0:yyyyMMmonthddDay}") %>
//文字列バインディングは指定された長さを超えているため切り捨てられます
<%# DataBinder.Eval(Container.DataItem, "Text").ToString().Trim().Length>7
? ) .ToString().Trim().Substring
(0,7):DataBinder.Eval(Container.DataItem, "Text").ToString().Trim() %>
//価格を小数点以下 2 桁に変換します
<%# Convert.ToDecimal(((System.Data.DataRowView)Container.DataItem) ["Price"]).ToString("F2") %>
<%# DataBinder.Eval (コンテナ, "DataItem.Price","{0:F2}") %>
'VB.netで価格フォーマット後に判定
<%# IIf(DataBinder.Eval(Container.DataItem, "価格","{0:F2}")="0.00","交渉可能",DataBinder.Eval(Container.DataItem, "価格","{0: F2}")+"万") %>
'Vb.net 全般
<%# Ctype(Container.DataItem,DataRowView).Row("タイトル") %>
http://www.cnblogs.com/Wintersun/archive/2006/08/11/474135.html