您好我只是想知道使用gridview的行数据绑定事件获取gridview数据的最佳方法是什么。我以前习惯使用Eval但是不推荐使用它,因为它使用反射。
答案 0 :(得分:2)
你是什么意思“获取”数据,在RowDataBound事件被触发时,已经有一行数据,这就是事件执行的原因。如果您想访问和映射数据,则它位于e.Row.DataItem
。
修改强>
要回答您的评论,在标记中使用Eval并将代码放入RowDataBound事件处理程序并访问e.Row.DataItem
往往会在不同的情况下使用。如果您想要做的就是获取数据并将其绑定到控件的属性,那么使用Eval()(或者Bind()就可以了)。但是,如果您想要执行更复杂的操作,则可能需要在RowDataBound事件处理程序中执行此操作。例如,您可能有一个客户帐户和平衡网格。对于那些平衡过期的客户,您可能希望将该行变为红色以突出显示其帐户已逾期的事实。您无法在标记中使用Eval或Bind来执行此操作,因此您将检查RowDataBound事件处理程序中的e.Row.DataItem
,然后决定是否更改行的颜色。