Author: Walkdan (walkdan(at)gmail.com)
ASP.NET 2.0 的Eval()简化了掉了ASP 1.1 Container.DataItem,比如:
%# (Container.DataItem as DataRowView)["ProductName"].ToString() %
简化为:(去掉了类型指定 ASP 1.1, Eval通过反射实现,本文不再阐述)
%# DataBinder.Eval(Container.DataItem, "ProductName").ToString() %
又简化为(ASP 2.0):
%# Eval("ProductName") %
Eval()是TemplateControl:Page 的方法
TemplateControl.Eval()可以自动计算出Container, 机制就是从一个dataBindingContext:Stack堆栈来获取。
1. 建立DataItem Container 栈:
...[ 查看全文 ]