2012年2月1日星期三

DataBinder的Eval 和 TemplateControl的Eval

一直在写asp.net,一直这样写绑定语法Eval("xxxx"),也注意了别人这样写绑定语法,DataBinder.Eval(Container.DataItem,"xxxx"),还以为都是一样的东西.今天闲着没什么事,看了看代码,原来它并不是一样的东西.下面就讨论一下这个绑定语法吧

public sealed class DataBinder 首先我们看这个类,它是一个密封的类.

public static object Eval(object container, string expression);

public static string Eval(object container, string expression, string format);

提供了两个静态方法的重载,第一个需要两个参数,返回一个object类型的参数,第二个三个参数,返回一个string类型的参数.

public abstract class TemplateControl : Control, INamingContainer, IFilterResolutionService 这个类是一个抽象类,它集成自Control,比较容易理解

protected internal object Eval(string expression);

protected internal string Eval(string expression, string format);

它是两个非静态方法重载,参数也不一样,貌似就是省略了object container这个参数..

在此问下各位大牛,写前台绑定语法,用哪个效率比较高呢,为什么....


DataBinder的Eval 和 TemplateControl的Eval

TAG: