现在你可以想想下面哪种写法效率最高(以Repeater+DataTable数据源为例):
- <@% DataBinder.Eval(Container.DataItem, "ColumnName") %>
- <@% DataBinder.Eval(Container.DataItem, "ColumnName", null) %>
- <@% DataBinder.Eval(Container, "DataItem.ColumnName", null) %>
- <@% ((DataRowView)Container.DataItem)["ColumnName"] %>
- <@% ((DataRowView)Container.DataItem).Row["ColumnName"] %>
尽量使用第四种.
第四中是DataBinder.Eval的优化
DataBinder.Eval使用的是反射机制.一个静态方法,性能不是很高.