北京做网站电话,做外汇 虚拟网站,手机上干点啥能挣零花钱,wordpress 统计文章数量Eval()方法在运行时使用反射执行后期绑定计算#xff0c;因此与标准的ASP.NET数据绑定方法bind相比#xff0c;会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法 Eval 方法是静态#xff08;只读#xff09;方法#xff0c;该方法采…Eval()方法在运行时使用反射执行后期绑定计算因此与标准的ASP.NET数据绑定方法bind相比会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法 Eval 方法是静态只读方法该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能可以检索数据绑定控件的值并将任何更改提交回数据库。 使用 Eval 方法 Eval 方法可计算数据绑定控件如 GridView、DetailsView 和 FormView 控件的模板中的后期绑定数据表达式。在运行时Eval 方法调用 DataBinder 对象的 Eval 方法同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分如 GridView 控件中的一行。因此只能对数据绑定控件的模板内的绑定使用 Eval 方法。 Eval 方法以数据字段的名称作为参数从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数来指定返回字符串的格式该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。 使用 Bind 方法 Bind 方法与 Eval 方法有一些相似之处但也存在很大的差异。虽然可以像使用 Eval 方法一样使用 Bind 方法来检索数据绑定字段的值但当数据可以被修改时还是要使用 Bind 方法。 在 ASP.NET 中数据绑定控件如 GridView、DetailsView 和 FormView 控件可自动使用数据源控件的更新、删除和插入操作。例如如果已为数据源控件定义了 SQL Select、Insert、Delete 和 Update 语句则通过使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法就可以使控件从模板中的子控件中提取值并将这些值传递给数据源控件。然后数据源控件将执行适当的数据库命令。出于这个原因在数据绑定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函数。 Bind 方法通常与输入控件一起使用例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时该方法便可提取输入值。 Bind 方法采用数据字段的名称作为参数从而与绑定属性关联如下面的示例所示 EditItemTemplate table tr td alignright bEmployee ID:/b /td td %# Eval(EmployeeID) % /td /tr tr td alignright bFirst Name:/b /td td asp:TextBox IDEditFirstNameTextBox RunAtServer Text%# Bind(FirstName) % / /td /tr tr td alignright bLast Name:/b /td td asp:TextBox IDEditLastNameTextBox RunAtServer Text%# Bind(LastName) % / /td /tr tr td colspan2 asp:LinkButton IDUpdateButton RunAtserver TextUpdate CommandNameUpdate / asp:LinkButton IDCancelUpdateButton RunAtserver TextCancel CommandNameCancel / /td /tr /table /EditItemTemplate 单击行的 Update 按钮时使用 Bind 语法绑定的每个控件属性值都会被提取出来并传递给数据源控件以执行更新操作。 使用 DataBinder.Eval ASP.NET 提供了一个名为 DataBinder.Eval 的静态方法该方法计算后期绑定的数据绑定表达式并将结果格式化为字符串可选。利用此方法可以避免许多在将值强制为所需数据类型时必须执行的显式强制转换操作。 例如在下面的代码片段中一个整数显示为货币字符串。使用标准的 ASP.NET 数据绑定语法必须首先强制转换数据行的类型以便检索数据字段 IntegerValue。然后这将作为参数传递到 String.Format 方法 %# String.Format({0:c}, ((DataRowView)Container.DataItem)[IntegerValue]) % 将此语法与 DataBinder.Eval 的语法进行比较后者只有三个参数数据项的命名容器、数据字段名称和格式字符串。在模板化列表中如 DataList 类、DataGrid 类或 Repeater 类命名容器始终是 Container.DataItem。 %# DataBinder.Eval(Container.DataItem, IntegerValue, {0:c}) % 格式字符串参数是可选的。如果它被忽略DataBinder.Eval 将返回类型对象的值如下面的示例所示 %# (bool)DataBinder.Eval(Container.DataItem, BoolValue) % 当对模板化列表中的控件进行数据绑定时DataBinder.Eval 特别有用因为数据行和数据字段通常都必须强制转换。 1。Eval和Bind的区别 绑定表达式 %# Eval(字段名) % %# Bind(字段名) % 区别 1。eval是只读数据bind是可更新的 2.当对次表达式操作时候必须用Eval 如%# Eval(字段名).ToString().Trim() % 2.若GridView中绑定列里面 设置 内容格式 DataFormateString {0:d} 则 必须把 属性 HtmlCode 设置为false否则无法起作用; Eval 单向绑定:数据是只读的Bind 双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库. ----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:D})% //----2006年10月27日----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:F})%//----2006年10月27日 8:31:44----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:G})%//----2006-10-27 8:31:44----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:M})%//----10月27日 -%# DataBinder.Eval(Container.DataItem,dateandtime,{0:R})%//----Fri, 27 Oct 2006 08:31:44GMT----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:T})%//----8:31:44----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:U})%//----2006年10月27日 0:31:44----%# DataBinder.Eval(Container.DataItem,dateandtime,{0:Y})%//----2006年10月转载于:https://www.cnblogs.com/30ErLi/archive/2010/09/17/1828846.html