Bind和Eval的区别
Eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法Bind相比,性能明显下降。它一般用在绑定是需要格式化字符串的情况下,多数情况尽量少用此方法。
Eval()方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。
Bind()方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。
1.使用Eval方法
Eval方法可计算数据绑定控件(如GridView、DetailsView和FormView控件)的模板中的后期绑定数据表达式。在运行时,Eval方法调用DataBinder对象的Eval方法,同时引用命名容器的当前数据项。
2.使用Bind方法
Bind方法与Eval方法有一些相似之处,但也存在很大差异,虽然可以像使用Eval方法一样使用Bind方法来检索数据绑定字段的值,但数据可以被修改时,还是要使用Bind方法。
3.使用Binder.Eval方法
Binder.Eval方法也是静态方法,该方法计算后期绑定的数据绑定表达式,并将结果格式化为字符串(可选)。利用此方法,可以避免许多在将值强制转换为所需数据类型时必须的显式强制转换操作。