لا داعي للقلق بشأن مصدر البيانات (Dataread أو dataset) عند استخدام DataBinder.eval. لا داعي للقلق بشأن نوع البيانات. سوف يقوم eval بتحويل كائن البيانات هذا إلى سلسلة. تم إنجاز الكثير من العمل على الارتباط الأساسي باستخدام إمكانات الانعكاس. لمجرد أنه مناسب للاستخدام، فإنه يؤثر على أداء البيانات. عندما يكون DataItem مرتبطًا بمجموعة بيانات، فهو في الواقع DataRowView (إذا كان مرتبطًا بقارئ بيانات (dataread)، فهو IdataRecord.) لذلك، فإن تحويله مباشرة إلى DataRowView سيحسن الأداء بشكل كبير.
ملاحظة عند الاستخدام: 1. انتبه إلى حالة أسماء الحقول (انتبه بشكل خاص). إذا كان غير متوافق مع الاستعلام، ففي بعض الحالات سيكون أبطأ من <%# DataBinder.Eval(Container.DataItem, "field name") %>. 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?
DataBinder.Eval(Container.DataItem, "Text" ) .ToString().Trim().Substring
(0,7):DataBinder.Eval(Container.DataItem, "Text").ToString().Trim() %>
// تحويل السعر إلى منزلتين عشريتين
<%# Convert.ToDecimal(((System.Data.DataRowView)Container.DataItem) ["Price"]).ToString("F2") %>
<%# DataBinder.Eval ( حاوية، "DataItem.Price"، و"{0:F2}") %>
"الحكم بعد تنسيق السعر في VB.net."
<%# IIf(DataBinder.Eval(Container.DataItem, "price"،"{0:F2}")="0.00"،"Negotiable"،DataBinder.Eval(Container.DataItem، "price"، "{0:" F2}")+"万") %>
'Vb.net عام
<%# Ctype(Container.DataItem,DataRowView).Row("Title") %>
http://www.cnblogs.com/wintersun/archive/2006/08/11/474135.html