知识大全 两种绑定

Posted

篇首语:历史是一面镜子,它照亮现实,也照亮未来。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 两种绑定相关的知识,希望对你有一定的参考价值。

ASP.NET中Bind和Eval的区别:两种绑定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  eval()方法在运行时使用反射执行后期绑定计算 因此与标准的数据绑定方法bind相比 会导致性能明显下降 它一般用在绑定时需要格式化字符串的情况下 多数情况尽量少用此方法

  Eval 方法是静态(只读)方法 该方法采用数据字段的值作为参数并将其作为字符串返回 Bind 方法支持读/写功能 可以检索数据绑定控件的值并将任何更改提交回数据库

  中的Bind和Eval 使用 Eval 方法

  Eval 方法可计算数据绑定控件(如 GridView DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式 在运行时 Eval 方法调用 DataBinder 对象的 Eval 方法 同时引用命名容器的当前数据项 命名容器通常是包含完整记录的数据绑定控件的最小组成部分 如 GridView 控件中的一行 因此 只能对数据绑定控件的模板内的绑定使用 Eval 方法

  Eval 方法以数据字段的名称作为参数 从数据源的当前记录返回一个包含该字段值的字符串 可以提供第二个参数来指定返回字符串的格式 该参数为可选参数 字符串格式参数使用为 String 类的 Format 方法定义的语法

  中的Bind和Eval 使用 Bind 方法

  Bind 方法与 Eval 方法有一些相似之处 但也存在很大的差异 虽然可以像使用 Eval 方法一样使用 Bind 方法来检索数据绑定字段的值 但当数据可以被修改时 还是要使用 Bind 方法

  在 中 数据绑定控件(如 GridView DetailsView 和 FormView 控件)可自动使用数据源控件的更新 删除和插入操作 例如 如果已为数据源控件定义了 SQL Select Insert Delete 和 Update 语句 则通过使用 GridView DetailsView 或 FormView 控件模板中的 Bind 方法 就可以使控件从模板中的子控件中提取值 并将这些值传递给数据源控件 然后数据源控件将执行适当的数据库命令 出于这个原因 在数据绑定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind 函数

  Bind 方法通常与输入控件一起使用 例如由编辑模式中的 GridView 行所呈现的 TextBox 控件 当数据绑定控件将这些输入控件作为自身呈现的一部分创建时 该方法便可提取输入值

  Bind 方法采用数据字段的名称作为参数 从而与绑定属性关联 如下面的示例所示

  < EditItemTemplate>

  < table>

  < tr>

  < td align=right>

  < b>Employee ID:< /b>

  < /td>

  < td>

  < %# Eval( EmployeeID ) %>

  < /td>      < /tr>      < tr>      < td align=right>

  < b>First Name:< /b>      < /td>      < td>

  < asp:TextBox ID= EditFirstNameTextBox RunAt= Server       Text= < %# Bind( FirstName ) %> />

  < /td>      < /tr>      < tr>      < td align=right>

  < b>Last Name:< /b>      < /td>      < td>

  < asp:TextBox ID= EditLastNameTextBox RunAt= Server       Text= < %# Bind( LastName ) %> />

  < /td>      < /tr>      < tr>      < td colspan= >      < asp:LinkButton ID= UpdateButton RunAt= server       Text= Update CommandName= Update />

  < asp:LinkButton ID= CancelUpdateButton RunAt= server       Text= Cancel CommandName= Cancel />

  < /td>      < /tr>      < /table>      < /EditItemTemplate>   单击行的 Update 按钮时 使用 Bind 语法绑定的每个控件属性值都会被提取出来 并传递给数据源控件以执行更新操作

  中的Bind和Eval 使用 DataBinder Eval

  提供了一个名为 DataBinder Eval 的静态方法 该方法计算后期绑定的数据绑定表达式 并将结果格式化为字符串(可选) 利用此方法 可以避免许多在将值强制为所需数据类型时必须执行的显式强制转换操作

  例如 在下面的代码片段中 一个整数显示为货币字符串 使用标准的 数据绑定语法 必须首先强制转换数据行的类型以便检索数据字段 IntegerValue 然后 这将作为参数传递到 String Format 方法

  < %# String Format( :c ((DataRowView)Container DataItem)[ IntegerValue ]) %>   将此语法与 DataBinder Eval 的语法进行比较 后者只有三个参数 数据项的命名容器 数据字段名称和格式字符串 在模板化列表中(如 DataList 类 DataGrid 类或 Repeater 类) 命名容器始终是 Container DataItem

  < %# DataBinder Eval(Container DataItem IntegerValue :c ) %>  格式字符串参数是可选的 如果它被忽略 DataBinder Eval 将返回类型对象的值 如下面的示例所示

  < %# (bool)DataBinder Eval(Container DataItem BoolValue ) %>     当对模板化列表中的控件进行数据绑定时 DataBinder Eval 特别有用 因为数据行和数据字段通常都必须强制转换

cha138/Article/program/net/201311/13554

相关参考

知识大全 三层Web体系结构里的两种数据绑定模式

三层Web体系结构里的两种数据绑定模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言  本

知识大全 深圳社保夫妻医疗绑定,如果一方没有买社保,能绑定吗

深圳社保夫妻医疗绑定,如果一方没有买社保,能绑定吗?绑定是指社保卡绑定在指定医院,以后门诊只能在绑定医院使用.你说的夫妻绑定,应该是关联吧!同一家庭成员的社保卡是可以关联的.关联需满足以下条件:1、参

知识大全 WPF数据绑定之绑定声明

WPF数据绑定之绑定声明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本主题讨论声明绑定的不同

知识大全 js中的前绑定和后绑定

  其主要意思就是看我有没有用过前绑定即Dom树中的某些元素在还没有创建出来时就指定该类型的元素一出生就应该拥有的某些事件在实际开发过程中经常会涉及到前绑定和后绑定顾名思义前绑定——还未出生即绑定了某

知识大全 一个手机号码可以绑定几次淘宝,解绑过后还可以在绑定吗

一个手机号码可以绑定几次淘宝,解绑过后还可以在绑定吗?一个手机号对应一个淘宝号,解除绑定后,还可以再次绑定的哈手机号码取消淘宝绑定后还可以绑定其他淘宝号么?可以的,你重新操作,或是换号码试试,我的情况

知识大全 ASP.NET数据绑定—多样的绑定方式

ASP.NET数据绑定—多样的绑定方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在这个系列

知识大全 js中的前绑定和后绑定详解

这篇文章详细介绍了js中的前绑定和后绑定有需要的朋友可以参考一下   其主要意思就是看我有没有用过前绑定即Dom树中的某些元素在还没有创建出来时就指定该类型的元素一出生就应该拥有的某些事件在

知识大全 方法调用的绑定

  将一个方法调用同一个方法主体连接到一起就称为绑定(Binding)若在程序运行以前执行绑定(由编译器和链接程序如果有的话)就叫作早期绑定大家以前或许从未听说过这个术语因为它在任何程序化语言里都是不

知识大全 新买的手机号被人绑定淘宝怎样解绑

新买的手机号被人绑定淘宝怎样解绑?会员名输入手机号点击忘记密码找回密码淘宝卖家绑定手机号有什么作用很有用,安装数字证书,动态码,都需要绑定手机折800绑定手机号有坏处吗?绑定手机号码这个只有好处没有坏

知识大全 微信绑定银行卡付款后申请退款但银行卡解除绑定钱还能退回银行卡吗

微信绑定银行卡付款后申请退款但银行卡解除绑定钱还能退回银行卡吗会的。退款都是原路退回的,就是你是用哪个银行卡支付,就退回到哪个银行卡中。即便解绑了,你的银行卡仍然会收到款项微信退款解除绑定银行卡还能退