2010-03-26 72 views

回答

2

取决于是否要将数据写回到更新事件(在这种情况下为数据绑定)。如果你只想读取数据,你可以使用Bind()或Eval(),说Eval()使用反射,所以会有性能开销

+0

你可以发布你的语句的参考,Eval使用反射? – citronas 2010-03-26 11:44:01

+0

在解释ASP.Net 3.5中,它指出EVAL在模板列中效率低下,因为它使用反射。这是Container.DataItem()的一个快捷方式 – 2010-03-26 11:57:54

1

取决于您想要绑定的项目。它们是否包含显示所需的全部信息?如果是,请使用Eval。如果不是,并且您需要在字典或类似的东西中查找其他信息,那么DataBound事件将成为使用的地方。

我已经发现,我通常使用DataBind事件来处理来自Linq-To-SQL映射器的绑定类。如果我可以自由创建自己的容器类,并包含所有需要显示的属性,那么我只使用Eval()。我想这取决于额外信息的查找是多么足智多谋。请记住,在DataBound事件中使用LinqDataContext是不好的做法。

相关问题