Eval和Bind的区别
简单来说:
绑定表达式
<%# Eval("字段名") %>
<%# Bind("字段名") %>
1、Eval 单向绑定:数据是只读的
Bind 双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库.
2.当对表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim() %>
3、绑定控件的属性时要用Bind,而Eval则是其它一些。
例如:<asp:TextBox ID="First" RunAt="Server" Text='<%# Bind("FirstName") %>' />
例如:<td><%# Eval("ProductID") %></td>
详细来说:
Eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法Bind相比,会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。可以提供第二个参数来指定返回字符串的格式,该参数为可选参数。字符串格式参数使用为 String 类的 Format 方法定义的语法。多数情况尽量少用此方法。