当前位置: 代码迷 >> 综合 >> 关于DataBinder.Eval和Eval
  详细解决方案

关于DataBinder.Eval和Eval

热度:46   发布时间:2024-01-19 10:33:17.0

 DataBinder.Eval的基本格式
DataBinder.Eval(Container.DataItem,"XXX","{0}")
<%# DataBinder.Eval(Container.DataItem,"xxxx")%>
<%# DataBinder.Eval(Container,"DataItem.xxxx")%>

问题1、他们是有什么不同?
问题2、他们是否可以相互替换?
问题3、DataBinder.Eval(Container.DataItem,"") 这个Container和DataItem分别都是什么?

答1:Eval是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数

据流动,即读/写。
答2:Eval可以替换为Bind,但会降低性能;反之不能替换。
答3:Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。

如果只是显示值<%#Eval("字段名")%>就可以了.
如果是要修改值<%#Bind("字段名")%>就可以了.

 

以下两种的显示是相同的

<%# Eval("name") %>

<%# DataBinder.Eval(Container.DataItem,"sex") %>

  相关解决方案